get-vm - não foi reconhecido como nome do cmdlet

1

Estamos tentando escrever um script PowerShell para iniciar / parar a nossa vms, mas o comando get-vm não está funcionando. A mensagem de erro é

get-vm: the term 'get-vm' is not recognized as the name of a cmdlet, function, script file, or operable program.

O código é assim:

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

Instalamos a atualização para o PowerShell para obter a versão 3 e ela ainda não está funcionando, mas a mensagem de erro mudou um pouco para a que listei acima.

Eu vi este link: link

Mas o hyperV está instalado agora e aparece quando digito:

Get-Module  -listavailable

No início do meu código, tenho:

if(!Get-Module -Name HyperV)){import-module Hyperv}

Também tem isto:

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

funciona e o Get-Host também

Nós tentamos

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

mas também não foi reconhecido como o nome de um cmdlet, etc.

Eu tentei desabilitar o UAC como este link pshyperv.codeplex.com/discussions/359174 mas não funcionou. Este link mostra os comandos que usei: link

Quando eu digitei:

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

deu a mensagem de erro que Set-UACStatus wasn't recognized as the name of a cmdlet , etc também. Ele também não reconheceu o Get-UACStatus.

Não tenho certeza se há outra coisa que preciso importar para usar o Get-VM?

    
por Michele 06.02.2014 / 20:21

1 resposta

3

Eu percebi isso. Eu precisava executar o powershell como administrador e, em seguida, a get-VM retornava a lista de VMs. Eu encontrei a resposta em MS Technet .

    
por 07.02.2014 / 17:18