我正在尝试从CSV文件中批量导入AD用户。但我一直得到以下错误:
密码不符合域的长度、复杂性或历史要求
但是用$InitialPassword创建的密码有大写、小写、数字和特殊字符,所以我不知道它不符合什么要求。
ForEach($user in $CSV){
$FirstName = $user.Voornaam
$LastName = $user.Familienaam
$DayOfBirth = $user.geboortedatum
$Enrollment = $user.inschrijvingsjaar
$Classroom = $user.Klas
$PhoneNumber = $user.contactnummer
# create and sanatize username
$UserName = "$($FirstName.ToLower()).$($LastName.ToLower())"
$Username = $UserName.Replace(" ", "")
# generate password
$InitialPassword = (ConvertTo-SecureString "$($FirstName[0])$($LastName.ToLower())$($Enrollment)!" -AsPlainText -Force)
New-ADUser -Name "$FirstName $LastName" `
-GivenName "$FirstName" `
-Surname "$LastName" `
-UserPrincipalName ("{0}@{1}" -f $UserName, "arrow.local") `
-SamAccountName $UserName `
-Initials "$($FirstName[0])$($LastName[0])" `
-DisplayName "$FirstName $LastName" `
-HomePhone $PhoneNumber `
-Description $Classroom `
-Office $Enrollment `
-AccountPassword $InitialPassword `
-Enabled $true
Write-Host "$UserName"
Write-Host "$InitialPassword"
}
默认密码复杂性规则不允许在密码中包含帐户名称或用户名-因此,当您编写字符串的密码时,这些字符串也会进入显示名称,这违反了复杂性要求!
如果您还看到由于无效用户名导致的错误,请注意sAMAccountName
属性必须是:
- 在森林级别上独一无二
- 长度不超过20个字符