我試圖用powershell創建新用戶。我們沒有運行活動目錄(不知道是否改變了事情)。這是我想要做的:無法在PowerShell中使用ADSI設置屬性
$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()
UPDATE
這是我得到
Exception calling "Put" with "2" argument(s): "Exception from HRESULT: 0x8000500F"
任何想法,我是什麼樣的錯誤做錯了?謝謝!
解決方案
JPBlanc的回答幫我指出了正確的方向。
最大的問題是,在不屬於Active Directory域的機器上使用[ADSI]
幾乎沒有任何文檔。
我能夠使用UserFlags
屬性解決問題。
$newUser.UserFlags = $UserFlags.DONT_EXPIRE_PASSWD
$newUser.CommitChanges()