【发布时间】:2012-05-24 16:23:36
【问题描述】:
我正在尝试使用 powershell 创建新用户。我们没有运行活动目录(不确定这是否会改变事情)。这是我正在尝试做的事情:
$machine = [ADSI]"WinNT://localhost,computer"
$newUser = $machine.Create("User", $Username)
$newUser.setpassword($Password)
$newUser.SetInfo()
到目前为止一切正常,用户已创建。但是现在我想像这样更改其他设置,但它们都失败了
$newUser.Put("sAMAcountName", $Username)
$newUser.SetInfo()
$newUser.Put("userAccountControl", 0x10000)
$newUser.SetInfo()
更新
这是我遇到的错误
Exception calling "Put" with "2" argument(s): "Exception from HRESULT: 0x8000500F"
知道我做错了什么吗?谢谢!
解决方案
JPBlanc 的回答帮助我指明了正确的方向。
最大的问题是几乎没有关于在不属于 Active Directory 域的计算机上使用 [ADSI] 的文档。
我能够使用 UserFlags 属性解决问题。
$newUser.UserFlags = $UserFlags.DONT_EXPIRE_PASSWD
$newUser.CommitChanges()
【问题讨论】:
标签: powershell adsi