我正在尝试使用 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 的回答帮助我指出了正确的方向。
最大的问题是几乎没有关于[ADSI]
在不属于 Active Directory 域的机器上使用的文档。
我能够使用该UserFlags
属性解决问题。
$newUser.UserFlags = $UserFlags.DONT_EXPIRE_PASSWD
$newUser.CommitChanges()