Invoke-Command
을 통해 보내는 ADSI 명령을 사용하여 원격 PowerShell 대상에서 암호를 변경하는 작업을 자동화하고 있습니다. 나는 원격 컴퓨터에 ADSI 명령을 보내려면 다음 PowerShell 명령을 사용하고 있습니다 :원격 PowerShell 대상에서 ADSI 명령 내의 변수
Invoke-Command -ComputerName $computer -ScriptBlock {
(([ADSI]“WinNT://localhost/Administrator”).SetPassword($new_password)).SetInfo
} -Credential $mycred
모든 것이 $new_password
변수를 제외하고 작동합니다.메서드에서 ADSI 명령에 직접 문자열을 입력하면 원격 클라이언트에서 암호가 성공적으로 변경됩니다. 그러나 대신 $new_password
변수를 사용하면 원격 클라이언트의 관리자 암호가 공백으로 설정됩니다. 다른 모든 변수 (예 : $computer
및 $mycred
)는 전체 Invoke-Command
명령에서 제대로 작동하지만 작동하지 않는 것은 단지 하나의 $ new_password입니다. 스크립트 블록에
$new_password = "mypassword"
Invoke-Command -ComputerName $computer -ScriptBlock {
(([ADSI]“WinNT://localhost/Administrator”).SetPassword($new_password)).SetInfo
} -Credential $mycred