이 컴퓨터에 Windows PowerShell 스냅인 'System.Management-Automation'이 설치되어 있지 않습니다.


0

Windows Server 2012에 Power shell 버전 4.0이 있습니다. 이제 다음 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}

하지만이 오류가 발생했습니다 :-

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

그래서 다음과 같이 powershell 스크립트를 업데이트했습니다.

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}

그러나 대신이 오류가 발생했습니다 :-

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;

그래서 위의 2 오류의 원인을 조언 할 수 있습니까?

두 번째 질문은 Invoke-Command? 안에 암호를 전달하는 더 직접적인 방법이 있습니까? 이제 다음과 같이 사용자 이름을 전달할 수 있습니다.

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

그러나 같은 방식으로 암호를 전달할 수 있는지 확실하지 않습니까?

감사

답변:


0

마침표가 있어야하는 하이픈이 있습니다. 더 클래스는 없다 System.Management-Automation, 그건 System.Management.Automation:

$LiveCred = New-Object System.Management.Automation.PSCredential($admin, $pwd)
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.