![]() |
Не работает импорт пользователей в AD из CSV-файла
Вложений: 1
Здравствуйте, сегодня решил загрузить пользователей в AD из csv. В интернете нашел много примеров, но они почему то не запускаются на моем сервере и выдает ошибку
Скрипт Так же во вложении есть пример нашего леса и csv файл (unicode). На DC включена функция обработки скриптов Код:
Set-ExecutionPolicy Unrestricted Код:
import-module activedirectory Кто может помочь с данной проблемой? UPD0: Пробовал менять «;» на «,» результатов не принесло UPD1:Заменил @password на "password" |
Сам скрипт полностью приведите.
|
Цитата:
Код:
Import-Module ActiveDirectory |
Покажите вывод: $Users[0]
|
Цитата:
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 |
Заменить $OU,на:
Код:
$OU = "OU=$($User.OU),OU=Центр новых информационных технологий (ЦНИТ), OU=Подразделения\, обеспечивающие учебный процесс,OU=GUU,DC=edu,DC=guu" |
Цитата:
Код:
Заменил выдал следующую ошибку |
Вы привели файл, где разделитель запятая. Здесь же используется точка с запятой. Где правда?
Ps. Т.к. $User.OU -eq "" - Для объекта у которого нет свойства OU будет $false,а значение $User.OU пусто,то и путь формируется неправильный. |
Kazun, большое спасибо. Скрипт заработал. Искренне Вам благодарен!!
Я бы хотел еще узнать можно ли как то дописать скрипт так, чтобы он проходил все ветки и сверял их с данными которые находятся в OU. Просто в интернете я не нашел поиска по лесу в AD Просто проблема, что в файле CSV есть информация только о конечных подразделениях, а если их нет, то он отправлял бы пользователей в каталог Other |
Вопрос мне неясен,что конкретно требуется в итоге.
Для поиска в лесе - обращайтесь к глобальному каталогу по порту 3268-LDAP(3269 - LDAPS). Для поиска в глобальном каталоге используйте параметр -Server GC:3268,но следует учесть,что в GC реплицируется не все атрибуты. Код:
Get-ADUser -Filter "Name -eq 'Test User'" -Server GC:3268 |
Kazun, как я понимаю строка
Код:
Get-ADUser -Filter "Name -eq 'Test User'" -Server GC:3268 Цитата:
Например Поиск по всем вложениям каталога GUU Если ("отдел сопровождения асу" из AD == "отдел сопровождения асу" из csv) то данные из CSV записываются в этот каталог. иначе пользователи попадают в other |
отвечает за поиск по лесу AD? - За поиск в Global Catalog
Если лес состоит из одного домена, то: # Получим все имена OU в GUU Код:
$allou = Get-ADOrganizationalUnit -Filter * -SearchBase "OU=GUU,DC=edu,DC=guu" | Foreach {$_.Name} Код:
if ($allou -notcontains $User.OU) |
Kazun, спасибо.
У меня получился вот такой скрипт Код:
Import-Module ActiveDirectory |
Код:
Import-Module ActiveDirectory |
Kazun, большое Вам спасибо. У меня остался последний вопрос это возмодно ли сдлеать так, чтобы если каталога нет, то он отправлял бы пользователя в каталог Other. Верно ли мое исправление
Код:
Import-Module ActiveDirectory |
1) Заменить else ($ou){ на else { - и будет работать
2) Я никогда не был на курсах, так что не могу ничего сказать о них. |
Цитата:
Цитата:
|
Цитата:
|
Iska, я просто смотрю в System Center, Windows Server, SQL Server в PS достаточно плотно интегрирован.
|
Ну, есть ещё Microsoft Office, вряд ли кто-то будет менять в нём VBA на PowerShell ;).
По поводу же остального добра — то не «продукты затачиваются под PowerShell», а на PowerShell создаётся ряд командлетов, облегчающих работу с теми или иными продуктами. Впрочем, ничто не мешает пользовать в PowerShell вместо командлетов старый добрый Automation или непосредственно WinAPI. |
Спасибо за помощь Kazun`у! Скрипт отлично работает!
Конечный скрипт Код:
Import-Module ActiveDirectory Код:
Login,Password,LastName,FirstName,MiddleName,OU,JobTitle |
Kazun, помоги пожалуйста
Скрипт ps1: Заголовок CSV файла: Получаю ошибку: Уже второй день с ним мучаюсь... В сети не нашел инфу чтоб помогала. Спвсибо. |
andysc, Вы неправильно передаете параметры:
1) "$User.DisplayName" - Либо убрать кавычки 2) "$User.DisplayName" - Либо обернуть в скобки "$($User.DisplayName)" Пример: Код:
PS > $user Код:
$userinfo = @{ |
Kazun, спасибо за ответ и помощь,
исправил код, но к сожалению, так же получаю ошибку. Код ошибки: Может в чем то другм проблема у меня? Заранее спасибо. |
1) Посмотрите вывод переменной $UsersCSV - корректные ли данные выводятся в PowerShell?
2) Измените строку Код:
Path = $User.Path+','+$DomainPath Код:
Path = $User.Path+','+$DomainPath.distinguishedName |
Kazun,
1. Не обращайся ко мне на вы, а то как то не ловко становится. 2. Не знаю если правильно, но я сделал простой вывод: 3. После изминения строки на: получаю другую ошибку: 4. И вот что у меня есть: Код скрипта: Файл CSV: |
Значение атрибута Country должно быть в формате ISO 3166 - http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
Т.е. в данном случае England заменяем на GB и должно отработать. |
Kazun, Большое Спасибо, скрипт заработал, все отличьно...
|
Kazun, нужна помщь... :)
Хочу написать скрип для импортирования в АД, из ЧСВ структур ОУ. Компания большая и подразелений много, подымаю новый АД и есть нужда в таком скрипте. Конечно финальный скрипт выложим на форуме для других хороших парней. ;) Есть кое какие идей? Я в курсе что в ПоуэрШел 4 есть такая команда как АДД-ОрганизатионЮнит. Kazun, и еще, Хочу доработать скрипт с импортированием пользователей. Хочу чтоб при выполнении показал какое то состояние процеса и чтоб создал лог со статусом выполнения. Заранее спасибо. :) |
andysc, что такое «ЧСВ структуры»?
Цитата:
Цитата:
|
Мне такой скрипт не нужен, кому надо можно взять готовые решения и допилить под себя:
1) Active Directory User Creation tool 1.2 2) Z-Hire Active Directory, Exchange, Lync, Office 365 User Creation Tool |
Iska,
Цитата:
и факт что не добавил запятую там где надо не считаю изменился смысл выражения. Просто иногда кто то хочит показать себя превысше других и придераются к словам, факт которого, я считаю - неправельным. Но все таки, если для кого то это так важно, то могу исправить: Цитата:
Kazun, Цитата:
Если кому то интерессно: New-ADOrganizationalUnit |
Цитата:
Цитата:
|
Цитата:
Тоесть CSV. |
andysc, спасибо, ясно. Никогда б не догадался. То, что не транслит — точно.
|
Время: 09:20. |
Время: 09:20.
© OSzone.net 2001-