以下是我的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

将感谢所有帮助。

问候。

最佳答案

您可以用来解决UserAccountControl属性的另一件事是使用PasswordNeverExpiresSet-ADUser参数。

$objUser | Set-ADUser -PasswordNeverExpires

实际上,您可以使用New-ADUser替换很多代码
Import-Module ActiveDirectory
$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”;

    New-ADUser $cn -SamAccountName $sAMAccountName -GivenName $givenName `
        -Surname $sn -DisplayName $displayName -UserPrincipalName $userPrincipalName `
        -PasswordNeverExpires $true -Path "OU=Service,OU=Accounts,DC=rjfdev,DC=com"
}

07-24 09:49