get-vm не работает для hyperv

у нас есть Windows 2008 R2 на нашем сервере. Мы пытаемся написать сценарий powershell для запуска / остановки наших виртуальных машин, но команда get-vm не работает. Сообщение об ошибке отсутствует. Команда просто ничего не возвращает, но должна быть.

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

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

мы стараемся делать

$temp = Get-VM -name VM-VMNameAsSeenInHyperVMgr

и ничего не вернуть.

мы установили обновление для powershell, чтобы получить версию 3, и это сделало get-vm команда работает (не дает сообщение об ошибке), но она по-прежнему не возвращает никаких виртуальных машин.

Я видел эту ссылку

но hyperV установлен сейчас и появляется, когда я набираю в командной строке powershell

Get-Module  -listavailable

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

import-module Hyperv

есть и такое:

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

работает, и поэтому Get-Host

мы старались

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

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

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

когда я набрал

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

он дал сообщение об ошибке, что Set-UACStatus не был распознан как имя командлета и т. д. Он также не узнал Get-UACStatus.

Я не уверен, что есть еще одна вещь, которую мне нужно импортировать для использования Get-VM? Или мой коллега думал, может, мы ... бежать в неведомые проблемы? Я думаю, что если бы это был Active Directory, он бы дал сообщение об ошибке о том, что у него нет разрешения что-то делать, но это не так.

1 ответов


Я понял. Мне нужно было запустить powershell от имени администратора, а затем get-VM вернул список виртуальных машин. Я нашел ответ здесь: http://social.technet.microsoft.com/Forums/systemcenter/it-IT/586083bc-d3c7-4d77-a98b-e62939552afd/getvm-doesnt-work?forum=virtualmachingmgrhyperv&prof=required