У нас есть Windows 2008 R2 на нашем сервере. Мы пытаемся написать powershell script для запуска/остановки наших vm, но команда get-vm не работает. Сообщение об ошибке отсутствует. Команда просто ничего не возвращает, но должна быть.
Код выглядит следующим образом:
$temp = Get-VM -Server usa..... | where-object {$_.State -eq 'Running'}
Мы попытались сделать
$temp = Get-VM -name VM-VMNameAsSeenInHyperVMgr
и он ничего не возвращает.
Мы установили обновление для powershell, чтобы получить версию 3, и это заставило команду get-vm работать (не дать сообщение об ошибке), но она все равно не возвращает никаких vm.
Я видел эту ссылку
Но hyperV теперь установлен и появляется, когда я печатаю в командной строке powershell
Get-Module -listavailable
В начале моего кода у меня есть
import-module Hyperv
Там также:
[system.net.dns]::GetHostEntry(ip)
работает, и Get-Host
Мы пробовали
Enable-WindowsOptionalFeature -FeatureName Microsoft-Hyper-V -All
но команда не была распознана как имя командлета.
Я попытался отключить UAC, как эта ссылка, но это не сработало. Эта ссылка показывает команды, которые я использовал: http://www.ehloworld.com/1026
Когда я набрал
Set-UACStatus -Computer usa...net -Enabled [$false]
он дал сообщение об ошибке, что Set-UACStatus не был распознан как имя командлета и т.д. Он также не распознал Get-UACStatus.
Я не уверен, что мне нужно импортировать, чтобы использовать Get-VM? Или мой коллега думал, может быть, мы сталкиваемся с неизвестными проблемами AD? Я думаю, что если бы это был Active Directory, он выдавал сообщение об ошибке о том, что у него нет разрешения что-то делать, но это не так.