|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Не работает импорт пользователей в AD из CSV-файла |
|
PowerShell - Не работает импорт пользователей в AD из CSV-файла
|
Новый участник Сообщения: 31 |
Здравствуйте, сегодня решил загрузить пользователей в AD из csv. В интернете нашел много примеров, но они почему то не запускаются на моем сервере и выдает ошибку
Скрипт Так же во вложении есть пример нашего леса и csv файл (unicode). На DC включена функция обработки скриптов Загружен модуль Все данные введены через запятую. Пароль соответствует требованиям. Кто может помочь с данной проблемой? UPD0: Пробовал менять «;» на «,» результатов не принесло UPD1:Заменил @password на "password" |
|
Отправлено: 16:25, 20-02-2014 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать Сам скрипт полностью приведите.
|
Отправлено: 16:32, 20-02-2014 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 31
|
Профиль | Отправить PM | Цитировать Цитата Kazun:
Import-Module ActiveDirectory $Users = Import-Csv -Delimiter ";" -Path "C:\Users\Администратор\Desktop\user.csv" foreach ($User in $Users) { if ($User.OU -eq "") #если OU пустая создаем в Others { $OU = "OU=Others,DC=edu,DC=guu" } else { $OU = "OU=Центр новых информационных технологий (ЦНИТ), OU=Подразделения\, обеспечивающие учебный процесс" + $User.OU + ",DC=edu,DC=guu" } $Password = $User.Password $Detailedname = $User.LastName + " " + $User.FirstName + " " + $User.MiddleName $UserFirstname = $User.FirstName $UserLastName = $User.LastName $JobTitle = $User.JobTitle $SAM= $User.Login + "@edu.guu" New-ADUser -Name $Detailedname -SamAccountName $User.Login -UserPrincipalName $SAM -DisplayName $Detailedname -GivenName $User.FirstName -Surname $User.LastName -Title $JobTitle -AccountPassword (ConvertTo-SecureString -AsPlainText "P@ssword2" -Force) -Enabled $true -Path $OU } |
|
Последний раз редактировалось fcdm25, 21-02-2014 в 17:57. Отправлено: 16:36, 20-02-2014 | #3 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать Покажите вывод: $Users[0]
|
Отправлено: 16:56, 20-02-2014 | #4 |
Новый участник Сообщения: 31
|
Профиль | Отправить PM | Цитировать Цитата Kazun:
C:\Users\Администратор\Desktop\script.ps1:18 знак:5 + New-ADUser -Name $Detailedname -SamAccountName $User.Login -UserPrincipalNam ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (CN=\ \ ,OU=Цент...с,DC=edu,DC=guu:String) [New-ADUser], ADIdentityNotFoundException + FullyQualifiedErrorId : ActiveDirectoryCmdlet:Microsoft.ActiveDirectory.Management.ADIdentityNotFoundException,Microsoft.Act iveDirectory.Management.Commands.NewADUser |
||
Отправлено: 17:06, 20-02-2014 | #5 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать |
Отправлено: 17:33, 20-02-2014 | #6 |
Новый участник Сообщения: 31
|
Профиль | Отправить PM | Цитировать Цитата Kazun:
Заменил выдал следующую ошибку New-ADUser : Имя объекта имеет недопустимый синтаксис C:\Users\Администратор\Desktop\script.ps1:18 знак:5 + New-ADUser -Name $Detailedname -SamAccountName $User.Login -UserPrincipalNam ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (CN=\ \ ,OU=,OU=...U,DC=edu,DC=guu:String) [New-ADUser], ADException + FullyQualifiedErrorId : ActiveDirectoryServer:8335,Microsoft.ActiveDirectory.Management.Commands.NewADUser |
|
Отправлено: 17:38, 20-02-2014 | #7 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать Вы привели файл, где разделитель запятая. Здесь же используется точка с запятой. Где правда?
Ps. Т.к. $User.OU -eq "" - Для объекта у которого нет свойства OU будет $false,а значение $User.OU пусто,то и путь формируется неправильный. |
Отправлено: 18:00, 20-02-2014 | #8 |
Новый участник Сообщения: 31
|
Профиль | Отправить PM | Цитировать Kazun, большое спасибо. Скрипт заработал. Искренне Вам благодарен!!
Я бы хотел еще узнать можно ли как то дописать скрипт так, чтобы он проходил все ветки и сверял их с данными которые находятся в OU. Просто в интернете я не нашел поиска по лесу в AD Просто проблема, что в файле CSV есть информация только о конечных подразделениях, а если их нет, то он отправлял бы пользователей в каталог Other |
Последний раз редактировалось fcdm25, 20-02-2014 в 21:49. Отправлено: 20:05, 20-02-2014 | #9 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать Вопрос мне неясен,что конкретно требуется в итоге.
Для поиска в лесе - обращайтесь к глобальному каталогу по порту 3268-LDAP(3269 - LDAPS). Для поиска в глобальном каталоге используйте параметр -Server GC:3268,но следует учесть,что в GC реплицируется не все атрибуты. Просто проблема, что в файле CSV есть информация только о конечных подразделениях, а если их нет, то он отправлял бы пользователей в каталог Other - Ваш скрипт уже делает эту проверку if ($User.OU -eq ""),при условии,что свойство есть,а оно будет если Import-Csv корректно отрабатывает. |
Отправлено: 23:17, 20-02-2014 | #10 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
PowerShell - [решено] Добавление информации из csv-файла в AD с обработкой | IvanXXL | Скриптовые языки администрирования Windows | 12 | 23-07-2014 10:49 | |
2012 R2 - [решено] Не работает импорт пользователей в AD из CSV-файла | fcdm25 | Windows Server 2012/2012 R2 | 1 | 21-02-2014 19:51 | |
PowerShell - PowerShell: импорт данных в AD из файла | Perersmeshnik | Скриптовые языки администрирования Windows | 2 | 20-02-2014 09:44 | |
PowerShell - [решено] Импорт из CSV в AD с помощью PowerShell | rox33 | Скриптовые языки администрирования Windows | 23 | 20-07-2012 15:45 | |
PowerShell - Импорт пользователей с помощью POwerShell и CSV файла. | Temafet | Скриптовые языки администрирования Windows | 19 | 18-01-2012 16:45 |
|