Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум 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
Благодарности: 0

Профиль | Отправить PM | Цитировать


Добрый день.
Есть такая проблема. Нужно :
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

Пытаюсь сделать запустить скрипт вида:

читать дальше »
Import-CSV -Path "C:\list.csv" | ForEach-Object -process {New-ADuser -Name $_.Name -Description $_.Description -DisplayName $_.DisplayName -EmailAddress $_.EmailAddress -MobilePhone $_.MobilePhone-Path "ou=Test,dc=Test,dc=ru" -CannotChangePassword $true -ChangePasswordAtLogon $false -PasswordNotRequired $true -AccountPassword $_.Password -Company TEST}


Взят и слегка исправлен отсюда.

При выполнении скрипта выдаёт:


читать дальше »
New-ADUser : Не удается проверить аргумент для параметра "Name". Аргумент пустой или имеет значение NULL. Укажите не пустой аргумент, не имеющий значение NULL, после чего повторите выполнение команды.
C:\3.ps1:1 знак:76
+ Import-CSV -Path "C:\short.csv" | ForEach-Object -process {New-ADuser -Name <<<< $_.Name -DisplayName $_.DisplayName
-EmailAddress $_.EmailAddress -MobilePhone $_.MobilePhone -Path "ou=Users,dc=test,dc=ru" -CannotChangePassword $true -ChangePasswordAtLogon $false -PasswordNotRequired
$true -AccountPassword $_.Password -Company TEST}
+ CategoryInfo : InvalidData: ( [New-ADUser], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.ActiveDirectory.Management.Commands.N ewADUser




На самом деле не привязан к PS. Если есть более доступные способы - готов выслушать.

2. Тут ещё ничего не сделано, т.к. сначала надо бы занести юзверей в AD.

Отправлено: 16:36, 03-07-2012

 

Старожил


Сообщения: 280
Благодарности: 72

Профиль | Отправить 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



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Компьютерный форум OSzone.net » Серверные продукты Microsoft » Windows Server 2008/2008 R2 » 2008 R2 - [решено] Windows Server R2 + PowerShell + CSV + AD

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
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




 
Переход