我正在尝试运行以下PowerShell脚本来创建本地用户。这适用于Windows Server 2008 R2,但我在Windows Server 2012 RC上收到以下错误。有关如何在Windows Server 2012中使其工作的任何想法?
$ComputerName = 'localhost'
$computer = [ADSI]"WinNT://$ComputerName"
$user = $computer.Create("User","Test")
$user.setpassword("P2ssw0rd")
$user.put("fullname","Test User")
$user.SetInfo()
$User.UserFlags[0] = $User.UserFlags[0] -bor 0x10000 #ADS_UF_DONT_EXPIRE_PASSWD flag is 0x10000
$User.SetInfo()
错误讯息: 调用带有“0”参数的“SetInfo”的异常:“指定的网络 密码不正确。
我还在Technet上找到了同样问题的人。那里没有答案。 http://social.technet.microsoft.com/Forums/en/ITCG/thread/16b0f6cc-1c85-4a6f-ba4f-1515f2991bec
谢谢, 麦克
答案 0 :(得分:3)
感谢Technet论坛上有人,答案是不要将localhost用于计算机名称。这是更新的代码。
$ComputerName = $env:ComputerName
$computer = [ADSI]"WinNT://$ComputerName"
希望它可以帮助他人。
谢谢, 麦克
答案 1 :(得分:1)
这更像是迈克答案的附录,我还没有代表发表评论。我只想添加,如果像我一样,你尝试使用[ADSI]“LDAP:// servername而不是[ADSI]”LDAP://127.0.0.1它仍然会抛出相同的错误。使用了当前不的DC的名称,这就是诀窍。以防有人像我一样快捷方式迈克的答案,直接指定主机名,得到错误,并驳回这个解决方案。