O snap-in do Windows PowerShell 'System.Management-Automation' não está instalado neste computador

0

Eu tenho o Power shell versão 4.0 no windows server 2012 .. agora eu executo o seguinte comando powershell: -

$admin = "domain\user"
$pwd = "*****" | ConvertTo-SecureString -asPlainText -Force
$LiveCred = New-Object System.Management-Automation.PSCredential($admin, $pwd)

Invoke-Command -ComputerName **** -Credential $LiveCred {Get-VM}

mas recebi este erro: -

New-Object : Cannot find type [System.Management-Automation.PSCredential]: verify that the assembly containing this
type is loaded.

então atualizei meu script do powershell da seguinte forma: -

add-pssnapin System.Management-Automation;
$admin = "domain\user"
$pwd = "*****" | ConvertTo-SecureString -asPlainText -Force
$LiveCred = New-Object System.Management-Automation.PSCredential($admin, $pwd)

Invoke-Command -ComputerName **** -Credential $LiveCred {Get-VM}

Mas eu recebi este erro: -

add-pssnapin : The Windows PowerShell snap-in 'System.Management-Automation' is not installed on this computer.
At line:1 char:1
+ add-pssnapin System.Management-Automation;

para que alguém possa aconselhar o que está causando os 2 erros acima?

segunda pergunta existe uma maneira mais direta de passar a senha dentro do Invoke-Command ? agora posso passar o nome de usuário da seguinte forma: -

Invoke-Command -ComputerName **** -Credential domain\username {Get-VM}

mas não tenho certeza se posso passar a senha da mesma maneira?

Obrigado

    
por John John 16.12.2015 / 01:03

1 resposta

0

Você tem um hífen no qual deve ter um período. Não há nenhuma classe System.Management-Automation , é System.Management.Automation :

$LiveCred = New-Object System.Management.Automation.PSCredential($admin, $pwd)
    
por 05.01.2016 / 17:50