【问题标题】:Change password for remote servers from csv从 csv 更改远程服务器的密码
【发布时间】:2019-11-04 06:25:33
【问题描述】:

Powershell 问题。

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

例子:

  • 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 和密码属性。

非常感谢任何帮助!

【问题讨论】:

  • 谢谢@GuentherSchmitz。我尝试添加: {param(l_user,$l_pass)([adsi]"WinNT://./$l_user").SetPassword($l_pass)} -ArgumentList $_.localuser,$_.password.它似乎不起作用,但我走在正确的道路上吗?
  • 请忽略我之前的评论。我断线不正确,那是杯子

标签: powershell


【解决方案1】:

感谢@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
   }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-04
    • 1970-01-01
    • 1970-01-01
    • 2011-05-20
    • 2016-07-18
    • 2022-08-15
    • 1970-01-01
    • 2016-12-09
    相关资源
    最近更新 更多