|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Импорт из csv в Active Directory и специфические атрибуты |
|
PowerShell - [решено] Импорт из csv в Active Directory и специфические атрибуты
|
Новый участник Сообщения: 14 |
Добрый день.
Есть задача по созданию нескольких сотен пользователей в 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 values At 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 |
|
Отправлено: 17:28, 28-05-2015 |
Забанен Сообщения: 793
|
Дык пишет, что "Значение атрибута не было в приемлемом диапазоне значений". Проверяйте количество параметров передаваемых командлету New-ADUser.
|
Отправлено: 17:46, 28-05-2015 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 14
|
Профиль | Отправить PM | Цитировать |
Отправлено: 18:05, 28-05-2015 | #3 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать Посмотрите в схеме, какой синтаксис имеют атрибуты в схеме.
$filter = "ldapDisplayName -eq 'KZIIN' -or ldapDisplayName -eq 'KZCLASS' -or ldapDisplayName -eq 'KZALTEMAIL' -or ldapDisplayName -eq 'KZROLE'" Get-ADObject -Filter $filter -SearchBase (Get-ADRootDSE).SchemaNamingContext -Properties attributeSyntax,oMSyntax Так же на тестовом пользователе можно протестировать каждый атрибут в отдельности и выявить проблемный. |
Последний раз редактировалось Kazun, 28-05-2015 в 19:10. Отправлено: 19:04, 28-05-2015 | #4 |
Новый участник Сообщения: 14
|
Профиль | Отправить PM | Цитировать Благодарю, выяснил что в схеме было указано значение для атрибута KZIIN в 12 символов, а в csv - 11.
Вот если бы ошибки в лога powershell был более внятными... Спасибо, тему можно закрыть. |
|
Отправлено: 17:01, 29-05-2015 | #5 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
PowerShell - Не работает импорт пользователей в AD из CSV-файла | fcdm25 | Скриптовые языки администрирования Windows | 34 | 25-09-2014 14:36 | |
2012 R2 - [решено] Не работает импорт пользователей в AD из CSV-файла | fcdm25 | Windows Server 2012/2012 R2 | 1 | 21-02-2014 19:51 | |
PowerShell - [решено] Импорт из CSV в AD с помощью PowerShell | rox33 | Скриптовые языки администрирования Windows | 23 | 20-07-2012 15:45 | |
2008 R2 - Импорт пользователей из Active Directory на внутренний сайт | Rulezzzz | Windows Server 2008/2008 R2 | 1 | 13-05-2011 08:51 | |
[решено] Импорт/экспорт пользователей в Active Directory | UnDetect | Microsoft Windows NT/2000/2003 | 7 | 03-02-2006 11:33 |
|