1

Мы пытаемся написать скрипт powershell для запуска / остановки нашего vms, но команда get-vm не работает. Сообщение об ошибке

get-vm: the term 'get-vm' is not recognized as the name of a cmdlet, function, script file, or operable program.

Код выглядит так:

$temp = Get-VM -Server usa..... | where-object {$_.State -eq 'Running'}

Мы установили обновление для powershell, чтобы получить версию 3, и оно все еще не работает, но сообщение об ошибке немного изменилось на то, которое я перечислил выше.

Я видел эту ссылку: http://social.technet.microsoft.com/Forums/windowsserver/en-US/07decd82-270e-4dd0-b8e8-789d693099dd/powershell-getvm-error?forum=winserverpowershell

Но hyperV установлен и появляется, когда я набираю :

Get-Module  -listavailable

В начале моего кода у меня есть:

if(!Get-Module -Name HyperV)){import-module Hyperv}

Там также это:

[system.net.dns]::GetHostEntry(ip) 

работает и Get-Host работает

Мы попытались

Enable-WindowsOptionalFeature -FeatureName Microsoft-Hyper-V -All 

но он не был распознан как имя командлета и т. д.

Я попытался отключить UAC, как эта ссылка pshyperv.codeplex.com/discussions/359174, но это не сработало. Эта ссылка показывает команды, которые я использовал: http://www.ehloworld.com/1026

Когда я набрал:

Set-UACStatus -Computer usa...net -Enabled [$false]

он выдал сообщение об ошибке, что Set-UACStatus wasn't recognized as the name of a cmdlet и т. д. Он также не распознал Get-UACStatus.

Я не уверен, есть ли еще что-то, что мне нужно импортировать, чтобы использовать Get-VM?

1 ответ1

3

Я понял. Мне нужно было запустить powershell от имени администратора, а затем get-VM вернула список виртуальных машин. Я нашел ответ в MS Technet.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .