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 был более внятными... Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти