
Hierarchical Address Book (HAB) – это функция Exchange Server 2010 которая позволяет использовать иерархию в адресной книге. Иерархическая адресная книга Exchange 2010 в отличие от более ранних версий, позволяет создавать иерархический вид, группируя пользователей и отделы, позволяя пользователям просматривать в Outlook адресную книгу в иерархическом виде.
На встрече MCP-Клуба в моем докладе про Exchange 2010 Service Pack 1 What’s New в конце презентации я в двух словах коснулся темы иерархической адресной книги, я подумал что данная тема интересна многим, и решил продолжу тему тут.
Поскольку обычная адресная книга имеет плоскую структуру, которая не может отражать структуру или иерархию компании, очень приятно видеть эту новую функцию в Exchange Server 2010, в Service Pack 1 для работа Hierarchical Address Book (HAB) были расширены “штатные” средства.
Для работы с HAB необходимо расширение схемы леса в котором вы установили Exchange Server 2010. Exchange Server 2010 Service Pack 1 при установке расширяет схему и все необходимые схемы классов и атрибуты для работы HAB добавляются автоматически в отличии от Exchange 2010 RTM (без сервис пака)
Чтобы использовать HAB в Exchange Server 2010 RTM, необходимо расширить схему отдельно, вручную. Схемы классов и атрибуты, которые добавляются для HAB, совместимы со всеми языками и версиями Exchange сервера. HAB расширения схемы для Exchange Server 2010 RTM будет также совместимо с будущими версиями сервера Exchange, если вам необходима работа с HAB “сегодня” на Exchange 2010 RTM (без SP1) то расширения схемы смотрим в KB 973788, How to extend the Active Directory schema for the Hierarchical Address Book (HAB) on an Exchange Server 2010 server
Напомню что если вы используете Exchange Server 2010 Service Pack 1 то отдельно вам расширять схему не нужно, все необходимое будет подготовлено во время установки SP1.
В Service Pack 1 также были обновлены командлеты для работы с Hierarchical Address Book
Set-OrganizationConfig, параметр HierarchicalAddressBookRoot
Set-Group, параметры IsHierarchicalGroup, SeniorityIndex, PhoneticDisplayName
Set-User, параметр SeniorityIndex и PhoneticDisplayName
Set-Contact, параметр SeniorityIndex и PhoneticDisplayName
Где, HierarchicalAddressBookRoot настройка HAB в организации, IsHierarchicalGroup параметр указывающий что групп иерархическая и SeniorityIndex, PhoneticDisplayName выставления порядка очередности групп и пользователей.
В RTM версии работа с HAB осуществлялась путем редактирования атрибутов утилитой ADSI Edit (adsiedit.msc), или оснасткой Active Directory Users and Computers (dsa.msc) с расширенным видом (Advanced Features), о том как и что редактировать для работы HAB на RTM версии смотрим KB 973994 How to enable the Hierarchical Address Book feature in Microsoft Exchange Server 2010
На рисунке ниже Outlook 2010, сравнение обычной и иерархической адресной книги.
Всем знакомая обычная адресная книга (Name List)
и на рисунке ниже, Exchange Server 2010 Hierarchical Address Book в Outlook 2010

Удобно и все упорядочено как нужно! Понравилось? Ну что приступим!?
Все ниже указанные действия проводились на Exchange 2010 Service Pack 1, напомню что для работы c HAB на RTM версии смотрим выше приведенные статьи Knowledge Base
Для начала нам нужно создать несколько групп, в данном примере мы создадим иерархию в которой у нас будет основная организация Postmaster LAB и в ней соответственно все остальные отделы, к примеру отдел Information Technology мы разделим на Infrastructure, Help Desk, Development и так далее в каждом из которых соответственно свои группы такие как системные администраторы, сетевые админы и так далее.
Для удобства, создадим отдельный Organization Unit и поместим все наши группы в него, которые в последствии будут отвечать за иерархию адресной книги. В моем примере это будет ОU под названием HAB
Создать OU можно прямо с командной строки или с Active Directory User and Computers, чтоб не терять время и не пришлось переключатся между оснастками все проделаем с Exchange Management Shell
Создание OU, dsadd ou ‘OU=HAB,OU=Postmaster LAB,DC=lab,DC=postmaster,DC=ge’

Теперь нам нужно создать группу, которая в последствии будет корневой для адресной книги,
Создание группы, new-DistributionGroup -name ‘Postmaster LAB’ -DisplayName ‘Postmaster LAB’ -alias ‘PostmasterLAB’ -OrganizationalUnit ‘lab.postmaster.ge/Postmaster LAB/HAB’ -SAMAccountName ‘PostmasterLAB’ -type ‘Distribution

Теперь устанавливаем Postmaster LAB в качестве корневой для HAB
set-OrganizationConfig -HierarchicalAddressBookRoot ‘Postmaster LAB’

проверка, get-OrganizationConfig | fl HierarchicalAddressBookRoot

Если вы допустили ошибку указав не ту группу, то можно исправить ее командой
set-OrganizationConfig -HierarchicalAddressBookRoot $null
Теперь нужно установить параметр IsHierarchicalGroup каждой группы которую мы хотим поместить в структуру HAB. В нашем примере мы назначим этот параметры для выше упомянутых групп, Postmaster LAB (она у нас в качестве основной) и далее всем остальные, Information Technology, Development и так далее, предварительно нужно создать их конечно.
set-Group -identity 'Postmaster LAB' -IsHierarchicalGroup $true

set-Group -identity 'Information Technology' -IsHierarchicalGroup $true
set-Group -identity 'Development' -IsHierarchicalGroup $true
set-Group -identity и так далее для всех групп которые вы собираетесь добавить в HAB
Теперь поместим соответствующие группы друг в друга, к примеру в Postmaster LAB поместим основные группы такие как Information Technology, Corporate Office, Top Management и так далее. Соответственно и под-группы помещаем по нужному адресу, к примеру все что относится к IT например Development, Help Desk помещаем в Information Technology и так далее
Пример, add-DistributionGroupMember -identity 'Postmaster LAB' –member ‘Information Technology’
Вот и готово!, правильно упорядочив все группы вы получаете удобную адресную книгу, можно смело запускать Outlook 2010 и проверять адресную книгу что у нас вышло. Если вы заметили на картинке группа Top Management была в самом низу, это можно исправить! и упорядочить так как вам нужно

После создания группы вы можете изменить параметр SeniorityIndex который отвечает за порядок групп, по умолчанию данный параметр у всех пуст, установив к примеру у одной из групп 10 а у другой 20, та у которой индекс выше соответственно и в адресной книге будет стоять выше.
Пример, set-Group -identity 'Top Management' -SeniorityIndex 100
Тоже самое доступно и для пользователей! К примеру Sandro Galdava является страшим системным администраторам и его нужно поместить в начало списка, всех остальных по мере убывания.

Пример, set-user -identity 'Sandro Galdava' -SeniorityIndex 50, при необходимости убираем значение параметром $null
Так как все в иерархической адресной книге является mail enabled, выбрав любой из пунктов, вы можете послать письмо, к примеру выбрав Information Technology все кто в ней получат сообщения, или Postmaster LAB получат все в организации, ну или те кто у вас помешены в HAB. Касательно безопасности и настроек, что применимо к обычным группам рассылки, к примеру лимиты или запреты, также применимо и для групп в HAB.
Использовать HAB можно для определенной части групп и пользователей в организации, то есть пользователей и групп у вас может быть много, а в иерархической структуре только часть пользователей и групп. К примеру у вас организация распределена по городам или странам, создав структуры городов и стран поместить туда основные отделы и основных персон, а остальных оставить как есть в обычной адресной книге. После создания HAB в организации можно пользоваться как стандартной плоской адресной книгой так и иерархической одновременно, меняя вид с обычной на иерархичную, переключая в Outlook address book с Name List на Organization. HAB работает на Outlook 2010 и 2007, другие версии не проверялись.
Стоит отметить что HAB поддерживалась еще и в Exchange 2007 но только для Японского рынка о чем свидетельствует этот KB 948810, Information about the support policy for the Hierarchical Address Book (HAB) feature in Exchange Server and in Outlook. Учитывая их стиль жизни не удивительно что они пользовались иерархической адресной книгой еще в Exchange 2007 а мы с вами нет, нам далеко до самураев…
p.s.
Все выше упомянутые пользователи и отделы являются вымышленными! :)
Arman Obosyan
http://postmaster.ge/blog