|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Не работает импорт пользователей в AD из CSV-файла |
|
PowerShell - Не работает импорт пользователей в AD из CSV-файла
|
Новый участник Сообщения: 31 |
Здравствуйте, сегодня решил загрузить пользователей в AD из csv. В интернете нашел много примеров, но они почему то не запускаются на моем сервере и выдает ошибку
Скрипт Так же во вложении есть пример нашего леса и csv файл (unicode). На DC включена функция обработки скриптов Загружен модуль Все данные введены через запятую. Пароль соответствует требованиям. Кто может помочь с данной проблемой? UPD0: Пробовал менять «;» на «,» результатов не принесло UPD1:Заменил @password на "password" |
|
Отправлено: 16:25, 20-02-2014 |
Новый участник Сообщения: 31
|
Профиль | Отправить PM | Цитировать Kazun, как я понимаю строка
отвечает за поиск по лесу AD? Цитата Kazun:
Например Поиск по всем вложениям каталога GUU Если ("отдел сопровождения асу" из AD == "отдел сопровождения асу" из csv) то данные из CSV записываются в этот каталог. иначе пользователи попадают в other |
|
Последний раз редактировалось fcdm25, 21-02-2014 в 17:58. Отправлено: 09:39, 21-02-2014 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать отвечает за поиск по лесу AD? - За поиск в Global Catalog
Если лес состоит из одного домена, то: # Получим все имена OU в GUU $allou = Get-ADOrganizationalUnit -Filter * -SearchBase "OU=GUU,DC=edu,DC=guu" | Foreach {$_.Name} |
Отправлено: 09:45, 21-02-2014 | #12 |
Новый участник Сообщения: 31
|
Профиль | Отправить PM | Цитировать Kazun, спасибо.
У меня получился вот такой скрипт Import-Module ActiveDirectory $Users = Import-Csv -Delimiter ";" -Path "C:\Users\Администратор\Desktop\user.csv" foreach ($User in $Users) { if ($allou = Get-ADOrganizationalUnit -Filter * -SearchBase "OU=GUU,DC=edu,DC=guu") { $OU = "OU=Others,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 } |
Отправлено: 10:00, 21-02-2014 | #13 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать Import-Module ActiveDirectory $Users = Import-Csv -Delimiter ";" -Path "C:\Users\Администратор\Desktop\user.csv" $allou = Get-ADOrganizationalUnit -Filter * -SearchBase "OU=GUU,DC=edu,DC=guu" foreach ($User in $Users) { $ou = $allou | Where {$_.Name -eq $User.OU} if ($ou) { $OU = $ou.DistinguishedName } else { $OU = "OU=Others,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 } |
Отправлено: 10:20, 21-02-2014 | #14 |
Новый участник Сообщения: 31
|
Профиль | Отправить PM | Цитировать Kazun, большое Вам спасибо. У меня остался последний вопрос это возмодно ли сдлеать так, чтобы если каталога нет, то он отправлял бы пользователя в каталог Other. Верно ли мое исправление
Import-Module ActiveDirectory $Users = Import-Csv -Delimiter ";" -Path "C:\Users\Администратор\Desktop\user.csv" $allou = Get-ADOrganizationalUnit -Filter * -SearchBase "OU=GUU,DC=edu,DC=guu" foreach ($User in $Users) { $ou = $allou | Where {$_.Name -eq $User.OU} if ($ou) { $OU = $ou.DistinguishedName } else ($ou){ $OU = "OU=Others,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 в 12:25. Отправлено: 12:12, 21-02-2014 | #15 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать 1) Заменить else ($ou){ на else { - и будет работать
2) Я никогда не был на курсах, так что не могу ничего сказать о них. |
Отправлено: 13:39, 21-02-2014 | #16 |
Новый участник Сообщения: 31
|
Профиль | Отправить PM | Цитировать Цитата Kazun:
Цитата Kazun:
|
||
Отправлено: 14:01, 21-02-2014 | #17 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата fcdm25:
![]() |
|
Отправлено: 14:43, 21-02-2014 | #18 |
Новый участник Сообщения: 31
|
Профиль | Отправить PM | Цитировать Iska, я просто смотрю в System Center, Windows Server, SQL Server в PS достаточно плотно интегрирован.
|
Отправлено: 14:51, 21-02-2014 | #19 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Ну, есть ещё Microsoft Office, вряд ли кто-то будет менять в нём VBA на PowerShell
![]() По поводу же остального добра — то не «продукты затачиваются под PowerShell», а на PowerShell создаётся ряд командлетов, облегчающих работу с теми или иными продуктами. Впрочем, ничто не мешает пользовать в PowerShell вместо командлетов старый добрый Automation или непосредственно WinAPI. |
Отправлено: 14:58, 21-02-2014 | #20 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
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 |
|