powershell で新しいユーザーを作成しようとしています。Active Directory を実行していません (それによって状況が変わるかどうかはわかりません)。これが私がやろうとしていることです:
$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()