Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Старожил


Сообщения: 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
- тут только для новых пользователей. Если надо и для редактирования существующих то надо изменить "Where-Object {$_.SideIndicator -eq "=>"}" на "Where-Object {$_.SideIndicator -eq "=="}" и вместо New-QADUser использовать Set-QADUser -Identity $user.email -DisplayName $user.DisplayName -UserPassword $user.Password -Description $user.Description -MobilePhone $user.MobilePhone . В принципе это можно реализовать все в одном скрипте.

Последний раз редактировалось Molchune, 04-07-2012 в 12:06.

Это сообщение посчитали полезным следующие участники:

Отправлено: 11:47, 04-07-2012 | #4