При миграции в новый лес пришлось переносить рабочие настройки администраторов, в том числе настройки оснастки ADUC – Active Domain User and Computers. В частности нужно было отобразить для учетных записей атрибуты с SIP-адресом, табельным номером и т.д. По умолчанию их нет в списке доступных для отображения через настройку View – Add/Remove Columns. Чтобы нужные атрибуты появились, необходимо настроить DisplaySpecifiers.
Запускаем ADSIEDIT, открываем контейнер Configuration, контейнер DisplaySpecifiers, находим контейнер соответствующий нужному языку – английскому соответствует 409, русскому 419, затем нам нужен объект default-Display и его атрибут extraColumns, в котором перечислены все доступные для отображения атрибуты.
Причем часто пишется, что достаточно настроить default-Display, но это работает только для контейнеров по умолчанию, для созданных пользовательских OU это не работает – для них нужно править extraColumns (изначально он пустой) в organizationalUnit-Display. Но! Если вы используете в ADUC хранимые запросы Query, то для них применяются настройки из default-Display!
Подробнее можно прочитать тут и тут.
Если посмотрите атрибут extraColumns в default-Display, то увидите достаточно большой список. Переносить такое количество записей вручную трудоемко (extraColumns не суммируются!).
Как всегда на помощь приходит Powershell. Для английского языка:
$dom = «DC=domain,DC=ru»
$a = Get-ADObject -Identity «CN=default-Display,CN=409,CN=DisplaySpecifiers,CN=Configuration,$dom« -Properties extraColumns
$b = Get-ADObject -Identity «CN=organizationalUnit-Display,CN=409,CN=DisplaySpecifiers,CN=Configuration,$dom«
Set-ADObject $b -Add @{extraColumns=[array]$a.extraColumns}
Если нужно будет очистить extraColumns, то нужно сделать так:
Set-ADObject $b -Clear extraColumns
Теперь добавим нужные нам атрибуты:
$c= @{}
$c.extraColumns=@(’employeeID,Employee ID,0,-1,0′)
$c.extraColumns+=@(‘msRTCSIP-PrimaryUserAddress,Lync Address,0,100,0’)
$c.extraColumns+=@(«operatingSystem,Operating System,0,-1,0»)
$c.extraColumns+=@(«operatingSystemServicePack,Service Pack,0,-1,0»)
#$c.extraColumns+=»»
Set-ADObject $a -Add $c
Set-ADObject $b -Add $c
Ждем несколько минут, запускаем ADUC и добавляем для отображения нужные атрибуты.
О работе в Powershell с multivalued атрибутами можно почитать тут.
Filed under: Active Directory, Powershell | Tagged: Active Directory, ADUC, DisplaySpecifiers, extraColumns, Powershell | Leave a comment »