Массовое создание пользователей

#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}) выглядел очень знакомым для меня.

Что касается вашего кода, посмотрите на

  1. Эта строка импорта-CSV. Кажется, у вас там есть «,». Хотя вы упомянули, что это создает только одного пользователя из списка и снова выдает эту ошибку — так что это может быть…

Файл CSV?

  1. CSV-файл, из которого вы читаете (nameofcsv.csv). Посмотрите, есть ли у вас двойные кавычки ‘»‘ вокруг местоположения вашего подразделения, т.е. «OU = NEW_USERS, DC = Contoso, DC = com».

Кроме того, что произойдет, если вы добавите -whatif или -debug в конец этой строки New-ADUser ? Он должен пройти мимо этого первого пользователя, как вы сказали, а затем сгенерировать какую-то ошибку в следующей строке.