2

我正在尝试使用 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()
4

2 回答 2

3

您可以以管理员身份尝试:

$obj = [ADSI]"WinNT://$env:COMPUTERNAME"
$user = $obj.Children.find("utilisateur1")
$user.psbase.rename("user1")
$user.put('FullName','user1')
$user.setinfo()

根据以下代码我看不到sAMAcountNameuserAccountControl哪些是 AD 用户属性:

PS C:\Windows\system32> $a | fl *


UserFlags                  : {513}
MaxStorage                 : {-1}
PasswordAge                : {917}
PasswordExpired            : {0}
LoginHours                 : {255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255}
FullName                   : {user1}
Description                : {}
BadPasswordAttempts        : {0}
HomeDirectory              : {}
LoginScript                : {}
Profile                    : {}
HomeDirDrive               : {}
Parameters                 : {}
PrimaryGroupID             : {513}
Name                       : {user1}
MinPasswordLength          : {0}
MaxPasswordAge             : {3628800}
MinPasswordAge             : {0}
PasswordHistoryLength      : {0}
AutoUnlockInterval         : {1800}
LockoutObservationInterval : {1800}
MaxBadPasswordsAllowed     : {0}
objectSid                  : {1 5 0 0 0 0 0 5 21 0 0 0 151 181 85 95 2 227 17 190 248 24 47 102 18 4 0 0}
AuthenticationType         : Secure
Children                   : {}
Guid                       : {D83F1060-1E71-11CF-B1F3-02608C9E7553}
ObjectSecurity             :
NativeGuid                 : {D83F1060-1E71-11CF-B1F3-02608C9E7553}
NativeObject               : System.__ComObject
Parent                     : WinNT://WORKGROUP/JPBHPP2
Password                   :
Path                       : WinNT://WORKGROUP/JPBHPP2/user1
Properties                 : {UserFlags, MaxStorage, PasswordAge, PasswordExpired...}
SchemaClassName            : User
SchemaEntry                : System.DirectoryServices.DirectoryEntry
UsePropertyCache           : True
Username                   :
Options                    :
Site                       :
Container                  :


PS C:\Windows\system32> $a | select -ExpandProperty properties

PropertyName                                                     Value
------------                                                     -----
UserFlags                                                          513
MaxStorage                                                          -1
PasswordAge                                                        917
PasswordExpired                                                      0
LoginHours                                     {255, 255, 255, 255...}
FullName                                                         user1
Description
BadPasswordAttempts                                                  0
HomeDirectory
LoginScript
Profile
HomeDirDrive
Parameters
PrimaryGroupID                                                     513
Name                                                             user1
MinPasswordLength                                                    0
MaxPasswordAge                                                 3628800
MinPasswordAge                                                       0
PasswordHistoryLength                                                0
AutoUnlockInterval                                                1800
LockoutObservationInterval                                        1800
MaxBadPasswordsAllowed                                               0
objectSid                                              {1, 5, 0, 0...}
于 2012-05-24T17:43:04.277 回答
0

您收到的错误消息是什么?您可能需要先获取对用户的新引用,然后才能再次修改它。

于 2012-05-24T16:31:33.023 回答