Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Импорт из csv в Active Directory и специфические атрибуты


Рекомендуемые сообщения

Добрый день.

Есть задача по созданию нескольких сотен пользователей в AD на базе WinServer 2012R2.

Есть csv-файл со всеми данными, есть скрипт для powershell для импорта, но есть один нюанс: нужно заполнить 4 специфических поля KZIIN, KZCLASS, KZALTEMAIL, KZROLE, которые также есть в csv.

Суть проблемы: скрипт не заполняет специфические поля, хотя они в АД созданы, без строк по заполнению полей - все работает отлично.

Как пофиксить?

Import-Module ActiveDirectory$pass = ConvertTo-SecureString -String "Password01" -AsPlainText -Force$ou = "OU=8A,OU=8Classes,OU=Students,OU=KRG,DC=our,DC=domain,DC=KZ"$dom = "krg"$users = Import-CSV C:\Users\Admin\Desktop\users.csv $users | ForEach-Object {    #Имя и фамилия латиницей    $gn = $_.GivenName_lat    $sn = $_.Surname_lat    #Класс    $class = $_.Class+$_.Liter    #Личная почта    $email = $_.altEmail    #Мобильный    $MobilePhone = $_.mobile      #Имя и фамилия кириллицией    $name = "$($_.GivenName) $($_.Surname)"    #ИИН    $iin = $_.IIN    #Имя    $givenname = $_.GivenName    #Фамилия    $surname = $_.Surname    #Грубо говоря корп.почта и имя пользователя АД    $upn = $_.Upn    #Создается имя пользователя вида Фамилия_И.поддомен    $gn1 = $gn.SubString(0,1)    $prefix = $sn+"_"+$gn1    $gn2 = $gn.SubString(0,1)    $prefix = $sn+"_"+$gn2    $sam = $prefix+"."+$dom    #Почта корпоративная    $mail = $upn    #Мобильный телефон    $phone = $MobilePhone    #Роль в системе    $role = "student"            if (Get-ADUser -Filter {UserPrincipalName -eq $upn})    {        Write-Host "User exists: $($upn)"        Set-ADUser -Server krg-srv-dc01 -Identity $sam -GivenName $givenname -Surname $surname -DisplayName $name -sAMAccountName $sam -OtherAttributes @{KZIIN=$iin;KZCLASS=$class;KZALTEMAIL=$email;KZROLE="student"}        return    }    else    {        New-ADUser -Server krg-srv-dc01 `        -UserPrincipalName $upn `        -GivenName $givenname `        -Surname $surname `        -Name $name `        -DisplayName $name `        -sAMAccountName $sam `        -EmailAddress $mail `        -OfficePhone $phone `        -Path $ou `        -AccountPassword $pass `        -PasswordNeverExpires $True `        -Enabled $True `        -ChangePasswordAtLogon $False `        -OtherAttributes @{'KZIIN'=$iin;'KZCLASS'=$class;'KZALTEMAIL'=$email;'KZROLE'=$role} `            }}

Вот вывод консоли:

New-ADUser : A value for the attribute was not in the acceptable range of valuesAt line:1 char:1+ New-ADUser -Server krg-srv-dc01 -UserPrincipalName 'Abeuov_A@krg.our.domain.kz'  ...+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    + CategoryInfo          : NotSpecified: (CN=Абеуов Алибе...is,DC=domain,DC=KZ:String) [New-ADUser], ADException    + FullyQualifiedErrorId : ActiveDirectoryServer:8322,Microsoft.ActiveDirectory.Management.Commands.NewADUser
Ссылка на комментарий
Поделиться на другие сайты

Выяснил что в схеме было указано значение для атрибута KZIIN в 12 символов, а в csv - 11.
Вот если бы ошибки в лога powershell был более внятными...

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...