使用Powershell和ADSI设置本地密码

时间:2015-07-21 20:58:35

标签: powershell wmi

我正在尝试在Windows 2008服务器上自动设置一堆本地用户帐户的密码。我已经尝试了一些东西,如果我不使用像这样的用户名的变量,这是有效的:

 $user = [adsi]"WinNT://$computer/SomeUserName"

我的脚本块在下面......任何想法我做错了什么?

$accounts = Get-Content c:\userlist.txt
$computer = SomeComputerName
$password = "MyPassword"
Foreach($account in $accounts)
{
 $user = [adsi]"WinNT://$computer/$account"
 $user.SetPassword("$Password")
 $user.SetInfo()
}

我为用户使用$ account变量(来自文本文件列表)时得到的错误是:

The following exception occurred while retrieving member "SetInfo": "The group name could not be found.

感谢您的帮助......

1 个答案:

答案 0 :(得分:3)

您的计算机似乎尝试将$account值解析为本地组名。

您可以通过使用逗号和字符串user关注帐户名称来指定它是您想要的User object

$user = [adsi]"WinNT://$computer/$account,user"