从CSV更改远程服务器的密码

Powershell问题。

我正在尝试更改位于不同域的多个远程服务器上的本地用户密码。 csv文件包含4列:服务器名,域,密码,本地用户

示例:

  • Server1,mydomain.dev,test123,localadmin
  • Server2,mydomain.uat,test123,localadmin
  • Server3,mydomain.prod test123,localadmin

这是我到目前为止所拥有的,但可惜没有成功:

Import-CSV servers.csv | ForEach-Object {Invoke-Command -ComputerName "$($_.servername).$($_.domain)" `
-Credential "$($_.domain)\$($env:username)" {([adsi]"WinNT://./$_.localuser").SetPassword($_.password)}
    }

对Powershell来说还很陌生,我无所适从如何在{}内传递locauser和password属性。

非常感谢您的帮助!

a5518382 回答:从CSV更改远程服务器的密码

感谢@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
   }
本文链接:https://www.f2er.com/3168719.html

大家都在问