Главная » Грабли » Небольшая особенность GAL и RecipientFilter или не отображаются вложенные группы

Небольшая особенность GAL и RecipientFilter или не отображаются вложенные группы

Microsoft определяет GAL, как хранилище записей о группах, пользователях, контактах в организации Microsoft Exchange:

The global address list (GAL) is a directory that contains entries for every group, user, and contact within an organization’s implementation of Microsoft Exchange.

Механизм работы с GAL достаточно гибкий и позволяет гранулировано управлять попаданием объектов в глобальный список. А добавленная в Exchange 2010 технология Address Book Policy, позволяющая осуществлять разделение адресных книг, значительно расширила возможности работы с адресными книгами.

Это хорошо видно на примере командлета New-GlobalAddressList, который создает новый GAL Так, данный командлет позволяет задать фильтр, который будет определять, какие объекты попадут в созданный GAL. На странице документации приведен пример такого фильтра:

New-GlobalAddressList -Name GAL_AgencyB -RecipientFilter {((RecipientType -eq "UserMailbox") -and (CustomAttribute15 -eq "AgencyB"))}

В данном случае, в создаваемый GAL попадут все объекты класса UserMailbox (почтовые ящики) у которых в Active Directory атрибут «CustomAttribute15» имеет значение «AgencyB».

И вот тут кроется одна маленькая особенность. Если GAL будет создан подобным образом, то он не будет содержать другие объекты, например группы. Для того, чтобы можно было увидеть группы, обычно создается дополнительный список адресов с помощью командлета New-AddressList. Однако, если в этой ситуации попытаться просмотреть членство в группах через адресную книгу Outlook, представленных в созданном адресном списке для групп, то можно обнаружить, что вложенное членство групп не отображается. То есть, например, если в группе существуют вложенные подгруппы, то с их отображением возникнет проблема.

Корни этой проблемы растут из фильтра GAL, заданного ранее, который ограничивает участие только объектами класса UserMailbox. Таким образом, в данной ситуации более правильным вариантом является вот такой фильтр:

((CustomAttribute15 -eq ‘AgencyB’) -and ((RecipientType -eq ‘UserMailbox’) -or (ObjectClass -eq ‘Group’)))

Для изменения уже существующего GAL можно воспользоваться командой:

Get-GlobalAddressList GAL_AgencyB | Set-GlobalAddressList -RecipientFilter «((CustomAttribute15 -eq ‘AgencyB’) -and ((RecipientType -eq ‘UserMailbox’) -or (ObjectClass -eq ‘Group’)))»

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

((CustomAttribute15 -eq ‘AgencyB’) -and ((ObjectClass -eq ‘Contact’) -or (RecipientType -eq ‘UserMailbox’) -or (ObjectClass -eq ‘Group’) -or (RecipientDisplayType -eq ‘ConferenceRoomMailbox’)))

Реклама

One thought on “Небольшая особенность GAL и RecipientFilter или не отображаются вложенные группы

  1. Уведомление: Exchange, каждому своя адресная книга. | Alladmin

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s