以下是我的Powershell脚本 -
Import-Module ActiveDirectory
$objOU=[ADSI]“LDAP://OU=Service,OU=Accounts,DC=xyz,DC=com”;
$dataSource=import-csv “add_user2.csv”;
foreach($dataRecord in $datasource)
{
$cn=$dataRecord.FirstName + ” ” + $dataRecord.LastName
$sAMAccountName=$dataRecord.FirstName + “.” + $dataRecord.LastName
$givenName=$dataRecord.FirstName
$sn=$dataRecord.LastName
$displayName=$sn + “, ” + $givenName
$userPrincipalName=$sAMAccountName + “@test.com”;
#Additional Attributes
$objUser=$objOU.Create(“user”,”CN=”+$cn)
$objUser.Put(“sAMAccountName”,$sAMAccountName)
$objUser.Put(“userPrincipalName”,$userPrincipalName)
$objUser.Put(“displayName”,$displayName)
$objUser.Put(“givenName”,$givenName)
$objUser.Put(“sn”,$sn)
#Place the additional attributes into the record
$objUser.Put("PasswordNeverExpires", $true)
$objUser.SetInfo()
}
我正在尝试使用上面的脚本设置ActiveDirectory用户的值。我面临的问题是我无法将“帐户”标签中“帐户选项”下的“PasswordNeverExpires”属性设置为True。
我的输入文件“add_user1.csv”看起来像 -
FirstName LastName
Test Account1
非常感谢所有帮助。
问候。
答案 0 :(得分:2)
没有PasswordNeverExpires属性。如果您在Get-Member
上运行$objUser
,您会看到这一点。这些属性由UserAccountControl控制。有关详细信息look here。
This blog article详细说明了如何将密码never expires属性设置为true:
Setting "Password never expire" attribute on user object
This property unlike many other properties of AD object are contained in bitmask
attribute UserAccountControl
(not related in any way with User Account Control feature of Windows).
To set it you need to retrieve current value of this attribute and use binary OR
operation (-bor) to calculate new value.
$User = [ADSI]"LDAP://cn=Gusev,ou=Users,ou=Lab,dc=contoso,dc=com"
$UAC = $User.UserAccountControl[0] -bor 65536
$User.Put("userAccountControl",$UAC)
$User.SetInfo()
您的脚本需要修改为:
$objUser.SetInfo()
#Place the additional attributes into the record
$UAC = $objUser.UserAccountControl[0] -bor 65536
$objUser.Put("userAccountControl",$UAC)
$objUser.SetInfo()
如果不运行SetInfo()
两次,脚本将抛出错误。
答案 1 :(得分:2)
您可以使用另一个不得不使用UserAccountControl属性的方法是使用PasswordNeverExpires
的{{1}}参数。
Set-ADUser
事实上,您可以使用$objUser | Set-ADUser -PasswordNeverExpires
New-ADUser