У нас есть Windows 2008 R2 на нашем сервере. Мы пытаемся написать сценарий powershell для запуска/остановки наших vm, но команда get-vm не работает. Сообщение об ошибке отсутствует. Команда просто не возвращает ничего, но должна быть.get-vm не работает для hyperv
код выглядит следующим образом:
$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, это дало бы сообщение об ошибке, когда у вас не было разрешения что-то делать, но это не так.