Блог did5.ru

Про АйТи и около айтишные темы

[PowerShell] Обновление данных учетных записей в ActiveDirectory

Комментариев нет

Есть XML файл с актуальными данными сотрудников, из которого нужно обновить некоторые данные у учетных записей в ActiveDirectory (далее – AD). Уникальным индификатором является GUID (Как получить GUID и objectGUID из ActiveDirectory), которые уже выгружены из AD. Как прочитать данные из XML файла с помощью PowerShell я уже писал, поэтому здесь опишу часть скрипта, которая непосредственно вносит изменения в AD. Для работы с AD использую командлеты Quest Powershell.

XML файл имеет следующую структуру:

powershell set qaduser 1 thumb [PowerShell] Обновление данных учетных записей в ActiveDirectory

Последовательно считываем все учетки, берем GUID и остальные данные. В AD изменения вносятся следющей командой:

Set-QADUser $xmluser.GUID -Title $xmluser.title -Description $xmluser.title -Department $xmluser.department.Trim() -Notes $xmluser.info | Out-Null

Казалось бы вопрос решен, но в AD не есть не только пользователи, но и контакты. А командлет Set-QADUser работает только с учетными записями. Если необходимо взаимодействовать с учетными записями и контактами, как в моем случае, то используем командлет Set-QADObject:

Set-QADObject $xmluser.GUID -ObjectAttributes @{title=$xmluser.title;description=$xmluser.title;department=$xmluser.department.Trim();info=$xmluser.info} | Out-Null

Trim () – удаляет пробелы в строке.

Полное описание командлетов Set-QADObject и Get-QADObject с примерами.

Можно также отключать и включать учетные записи в AD с помощью командлета Set-QADObject:

Set-QADObject $xmluser.GUID -ObjectAttributes @{userAccountControl='512'} | Out-Null

512 – вкл, 514 – выкл.

Нашли опечатку в тексте? Пожалуйста, выделите ее и нажмите Ctrl+Enter! Спасибо!


Хотите поблагодарить автора за эту заметку? Вы можете это сделать!


Автор: did5

03 Дек 2014 в 11:41

Рубрика: PowerShell

Метки: ,

Ваш отзыв