#active-directory #windows-server-2016
#active-directory #windows-server-2016
Вопрос:
Я пытаюсь загрузить пользователей в созданное мной подразделение, и у меня есть файл .csv с полями ниже; имя, фамилия, имя пользователя, пароль подразделения
Ниже приведен сценарий, который я запускаю, и при его запуске я получаю эту ошибку: «Операция завершилась неудачно, поскольку значение UPN, указанное для добавления / изменения, не является уникальным для всего леса ..»
Импорт-Модуль activedirectory
$ADUsers = Import-csv; . nameofcsv.csv
foreach ($User в $ADUsers) {
$Username = $User.username
$Password = $User.password
$Firstname = $User.firstname
$Lastname = $User.lastname
$OU = $User.ou
if (Get-ADUser -F {SamAccountName -eq $Username})
{
Write-Warning "A user account with username $Username already exist in Active Directory."
}
else
{
#Account will be created in the OU provided by the $OU variable read from the CSV file
New-ADUser `
-SamAccountName $Username `
-UserPrincipalName "$Username@domainname" `
-Name "$Firstname $Lastname" `
-GivenName $Firstname `
-Surname $Lastname `
-Enabled $True `
-DisplayName "$Lastname, $Firstname" `
-Path $OU `
-AccountPassword (convertto-securestring $Password -AsPlainText -Force)
}
}
Комментарии:
1. Скрипт запускается, но создает только одного пользователя из списка и выдает ту же ошибку
2. Можете ли вы предоставить образец используемого вами CSV-файла?
3. также, что, если вы попытались (-userPrincipalName ($Username «@domainname»)
Ответ №1:
Код выглядит нормально для меня. Я действительно использовал его и раньше, что if (Get-ADUser -F {sAMAccountName -eq $Username}) выглядел очень знакомым для меня.
Что касается вашего кода, посмотрите на
- Эта строка импорта-CSV. Кажется, у вас там есть «,». Хотя вы упомянули, что это создает только одного пользователя из списка и снова выдает эту ошибку — так что это может быть…
Файл CSV?
- CSV-файл, из которого вы читаете (nameofcsv.csv). Посмотрите, есть ли у вас двойные кавычки ‘»‘ вокруг местоположения вашего подразделения, т.е. «OU = NEW_USERS, DC = Contoso, DC = com».
Кроме того, что произойдет, если вы добавите -whatif или -debug в конец этой строки New-ADUser ? Он должен пройти мимо этого первого пользователя, как вы сказали, а затем сгенерировать какую-то ошибку в следующей строке.