|
Компьютерный форум OSzone.net » Серверные продукты Microsoft » Windows Server 2008/2008 R2 » 2008 R2 - [решено] Windows Server R2 + PowerShell + CSV + AD |
|
2008 R2 - [решено] Windows Server R2 + PowerShell + CSV + AD
|
Новый участник Сообщения: 29 |
Добрый день.
Есть такая проблема. Нужно : 1. Из файла CSV (созданного сторонним продуктом), где находятся имена, почтовые ящики и телефоны пользователей, импортировать список в ActiveDirectory. Пробовал разными способами (dsadd, ps, csvde). Успеха не добился. 2. Вставить в скрипт создания пользователя проверку данных по каждому пользователю (пользователя по полю email определять) и при нестыковках заносить данные из csv в AD. Итак. 1. Есть CSV файл такого вида: name;displayname;Password;EmailAddress;MobilePhone; Description ivan;ivan.ivanov;Qw12345;ivan.ivanov@test.ru;8-999-999-9999;test Пытаюсь сделать запустить скрипт вида: Взят и слегка исправлен отсюда. При выполнении скрипта выдаёт: На самом деле не привязан к PS. Если есть более доступные способы - готов выслушать. 2. Тут ещё ничего не сделано, т.к. сначала надо бы занести юзверей в AD. |
|
Отправлено: 16:36, 03-07-2012 |
Старожил Сообщения: 280
|
Профиль | Отправить PM | Цитировать Вот смотри
Add-PSSnapin Quest.ActiveRoles.ADManagement # Импортируем пользователей из csv файла, где разделителем является ";" $userCSV=import-csv -Path d:\user.csv -Delimiter ";" #$userCSV # Импортируем пользователей из АД $userAD = Get-QADUser -SizeLimit 0 -SearchRoot test.ru/OU #$userAD #сравниваем Пользователей из АД с пользователями в csv файле по свойству Email и выбираем пользователей которых надо добавить в АД $compare = Compare-Object -ReferenceObject $userAD -DifferenceObject $userCSV -Property Email | Where-Object {$_.SideIndicator -eq "=>"} $compare #Проверяем что есть пользователи которых надо добавить if ($compare.Count -ge '1' ) { foreach ($usercompare in $compare) { $user = $userCSV| Where-Object {$_.Email -match $usercompare.email} $user #Добавляем пользователей New-QADUser -name $user.name -DisplayName DisplayName -UserPassword $user.Password -email $user.email -MobilePhone $user.MobilePhone -Description $user.Description -ParentContainer test.ru/OU -WhatIf } } else { 'Новых пользователей нет' } - в csv файлк поле EmailAddress изменил на Email - для работы с AD исползуется модуль ActiveRoles Management Shell for Active Directory. Его надо сначало скачать и подключается он второй строчкой Add-PSSnapin Quest.ActiveRoles.ADManagement. - оставил закоменченные строки с отображением всех перменных. Для просмотра прото раскомменть их. - в строчке New-QADUser.... для создания пользователей убери -WhatIf |
Последний раз редактировалось Molchune, 04-07-2012 в 11:39. Причина: добавление информации Отправлено: 11:31, 04-07-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
2008 - [решено] Windows PowerShell 2.0 не устанавливается. | Tonny_Bennet | Windows Server 2008/2008 R2 | 8 | 06-06-2012 15:10 | |
Блог - Создание загрузочного диска Windows PE 4.0 с .NET Framework и PowerShell 3 | Vadikan | Автоматическая установка Windows 11 / 10 / 8 / 7 / Vista | 0 | 05-12-2011 11:30 | |
PowerShell - [решено] Управление курсором мыши из сценария Windows PowerShell | Radchin | Скриптовые языки администрирования Windows | 2 | 14-07-2010 13:07 | |
2008 - PowerShell и W2k8 Server Core | DImaN! | Windows Server 2008/2008 R2 | 3 | 22-04-2008 11:10 |
|