Powershell问题。
我正在尝试更改位于不同域的多个远程服务器上的本地用户密码。 csv文件包含4列:服务器名,域,密码,本地用户
示例:
这是我到目前为止所拥有的,但可惜没有成功:
Import-CSV servers.csv | ForEach-Object {Invoke-Command -ComputerName "$($_.servername).$($_.domain)" `
-Credential "$($_.domain)\$($env:username)" {([adsi]"WinNT://./$_.localuser").SetPassword($_.password)}
}
对Powershell来说还很陌生,我无所适从如何在{}内传递locauser和password属性。
非常感谢您的帮助!
答案 0 :(得分:0)
感谢@GuentherSchmitz的指导,以下内容对我有用。
Import-CSV servers.csv |
ForEach-Object {Invoke-Command -ComputerName "$($_.servername).$($_.domain)"-Credential "$($_.domain)\$($env:username)" {
param($l_user,$l_pass) ([adsi]"WinNT://./$l_user").SetPassword("$l_pass")} -ArgumentList $_.localuser,$_.password
}