среда, 23 марта 2016 г.

[PowerShell] Если забыл проставить фамилию и имя пользователям в службе каталогов Active Directory

Недавно заметил, что у доброй сотни пользователей поля фамилия (атрибут GivenName) и имя (атрибут SurName) пустые. При наличии отображаемого имени (атрибут DisplayName) на решение задачи ушло не более двух минут. Итак, берем атрибут DisplayName пользователя, например Иванов Михаил Александрович, разделяем строку на массив строк, назначаем нужным нам атрибутам соответствующие значения массива.


Import-Module ActiveDirectory

$users = Get-ADUser -Filter * -Properties DisplayName,SamAccountName | ? {($_.surname -eq $null) -and ($_.DisplayName -ne $null)}

$users | % {$user = $_.SamAccountName; $tmp = $_.DisplayName -split ' '; if ($tmp.Count -eq 3) {Set-ADUser $user -Surname $tmp[1] -GivenName $tmp[0]}}


Примечание: если у вас отображаемое имя расположено в другом порядке, то необходимо изменить соответствующие индексы массива при назначении значений атрибутам.

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

Отправить комментарий