Darth Emil Опубликовано 28 мая, 2015 Жалоба Поделиться Опубликовано 28 мая, 2015 Добрый день. Есть задача по созданию нескольких сотен пользователей в 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 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Darth Emil Опубликовано 29 мая, 2015 Автор Жалоба Поделиться Опубликовано 29 мая, 2015 Выяснил что в схеме было указано значение для атрибута KZIIN в 12 символов, а в csv - 11. Вот если бы ошибки в лога powershell был более внятными... Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.