Estou confuso com o fato de eu ter informações diferentes com base em onde tento recuperá-las. Eu tenho 3 servidores Windows 2012 (G0, G1 e G2) executando o Hyper-V. A situação a seguir é capturada de um servidor que uso para executar scripts e controlar os outros.
O que estou tentando fazer é obter uma lista das máquinas virtuais existentes nessas três máquinas:
Usando PowerGUI
e PowerShell ISE
:
PS > Get-VMHost | select name
Name
----
G0.nothing.com
G2.nothing.com
G1.nothing.com
PS > Get-VMHost | Get-VM | select name
Name
----
VM1628856-4
VM1628856-2
VM1628856-6
VM1628856-3
VM1628856-1
VM1628856-5
Usando PowerShell
:
PS > Get-VMHost | select name
Name
----
G0
PS > Get-VM
Name State CPUUsage(%) MemoryAssigned(M) Uptime Status
---- ----- ----------- ----------------- ------ ------
VM1107610-1 OffCritical 0 0 00:00:00 Cannot connect to virtual machine configuration storage
VM1390728-1 OffCritical 0 0 00:00:00 Cannot connect to virtual machine configuration storage
VM1393540-1 OffCritical 0 0 00:00:00 Cannot connect to virtual machine configuration storage
VM1393540-10 OffCritical 0 0 00:00:00 Cannot connect to virtual machine configuration storage
VM1393540-2 OffCritical 0 0 00:00:00 Cannot connect to virtual machine configuration storage
VM1393540-3 OffCritical 0 0 00:00:00 Cannot connect to virtual machine configuration storage
VM1393540-4 OffCritical 0 0 00:00:00 Cannot connect to virtual machine configuration storage
VM1393540-5 OffCritical 0 0 00:00:00 Cannot connect to virtual machine configuration storage
VM1393540-6 OffCritical 0 0 00:00:00 Cannot connect to virtual machine configuration storage
VM1393540-7 OffCritical 0 0 00:00:00 Cannot connect to virtual machine configuration storage
VM1393540-8 OffCritical 0 0 00:00:00 Cannot connect to virtual machine configuration storage
VM1393540-9 OffCritical 0 0 00:00:00 Cannot connect to virtual machine configuration storage
VM1833022-1 OffCritical 0 0 00:00:00 Cannot connect to virtual machine configuration storage
Minha principal preocupação é que não tenho informações confiáveis das três ferramentas. O aplicativo Hyper-V Manager
mostra a mesma lista que o PowerShell
faz. Mas se eu executar meus scripts das outras duas ferramentas, que é o que eu mais faço, não tenho as mesmas informações disponíveis, portanto não posso manipular as mesmas VMs.
Também notei que Virtual Machine Manager
mostra a mesma lista de VMs que as duas primeiras ferramentas, PowerGUI e PowerShell ISE.
Quais informações são válidas? E como posso recuperar a lista correta de VMs?
EDIT 1
O valor $env:psmodulepath
:
PS > $env:psmodulepath
C:\Users\administrator\Documents\WindowsPowerShell\Modules;
C:\Windows\system32\WindowsPowerShell\v1.0\Modules\;
C:\Program Files (x86)\Microsoft SQL Server0\Tools\PowerShell\Modules\;
C:\Program Files\Microsoft System Center 2012\Virtual Machine Manager\bin\Configuration Providers\;
C:\Program Files\Microsoft System Center 2012\Virtual Machine Manager\bin\psModules\;
C:\Program Files (x86)\QLogic Corporation\QInstaller\Modules
EDIT 2
PowerShell
está usando este módulo Hyper-V
:
C: \ Windows \ Microsoft.Net \ assembly \ GAC_MSIL \ Microsoft.HyperV.PowerShell \ v4.0_6.3.0.0__31bf3856ad364e35 \ Microsoft.HyperV.PowerShell.dll
E PowerGUI
está usando este:
C: \ Windows \ System32 \ WindowsPowerShell \ v1.0 \ Módulos \ Hyper-V \ Hyper-V.psd1
Se eu tentar carregar o módulo usado por PowerShell
em PowerGUI
, ainda obtenho os mesmos resultados diferentes.
Como posso receber as informações corretas listadas em Hyper-V
usando PowerGUI
ou PowerShell ISE
?