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

Импорт из 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 был более внятными...

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

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

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

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