Мы пытаемся написать скрипт 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?