Exchange Online - как скрыть пользователя из общей адресной книги (при синхронизации с AD)

Дано: учетные записи пользователей в Exchange Online (Office 365), которые синхронизируются с Active Directory (AD) через Azure AD Connect (бывший DirSync).
Задача: скрыть из общей адресной книги некоторых пользователей.


Все пользователи в Exchange Online автоматически включаются в общую адресную книгу организации. Иногда возникает необходимость скрыть некоторых из них (например, человек уволился, но ящик еще не удален, или учетная запись служебная).
Если бы пользователи не синхронизировались с AD, то достаточно зайти в административной консоли Exchange Online в настройки пользователя и поставить "галочку" "Не отображать в списках адресов". Однако, если сделать это, когда пользователь синхронизируемый, появится сообщение об ошибке:

Ошибка операции в почтовом ящике "Фамилия И.О.": почтовый ящик находится вне области записи текущего пользователя. Невозможно выполнить действие 'Set-Mailbox', 'HiddenFromAddressListsEnabled', для объекта 'Фамилия И.О.', так как этот объект синхронизируется с текущей локальной организацией. Это действие необходимо выполнить для объекта в локальной организации.

The operation on mailbox "Фамилия И.О." failed because it's out of the current user's write scope. The action 'Set-Mailbox', 'HiddenFromAddressListsEnabled', can't be performed on the object 'Фамилия И.О.' because the object is being synchronized from your on-premises organization. This action should be performed on the object in your on-premises organization.


Т.е. данная настройка задается через локальный AD. Для этого находим пользователя в AD, переходим на вкладку "Attribute Editor", находим параметр "msExchHideFromAddressLists" и устанавливаем его в значение TRUE. Сохраняем и ждем синхронизации с Office 365.


После очередного этапа синхронизации данный параметр попадет в облако Office 365 и при открытии пользователя в Exchange Online параметр "Не отображать в списках адресов" будет установлен.
Действия по включению пользователя в списки аналогичны действиям по исключению.

(с) Ella S.
Если Вам понравилась статья, пожалуйста, поставьте лайк, сделайте репост или оставьте комментарий. Если у Вас есть какие-либо замечания, также пишите комментарии.

19 комментариев:

  1. А если не работает куда копать!? все стоит так но в АЗУРе не меняется... =(

    ОтветитьУдалить
    Ответы
    1. После очередного обновления AAD Connect действительно перестала работать синхронизация по некоторым ящикам. Говорят, что решение - это прописать у пользователя атрибут mailNickname. Пока не проверяла, работает ли, как проверю, скорректирую статью.

      Удалить
    2. Проверила, работает. Если прописать у пользователя mailNickname, то синхронизация скрытия из адресной книги работает.

      Удалить
  2. не работает в основном по атрибутам (не всем, а некоторым) msExch...

    ОтветитьУдалить
  3. Круто! Заработало после добавления mailNickname, откуда такие нюансы? :) В каком мануале я что-то пропустил? )

    ОтветитьУдалить
    Ответы
    1. Мануалы явно не переписали ) видимо синхронизатор начал использовать этот атрибут для синхронизации. Вот здесь обсуждали эту проблему (на англ.) - https://social.msdn.microsoft.com/Forums/sqlserver/en-US/081d3259-57b1-44ab-a8d0-5334b83d2938/azure-ad-connect-doesnt-sync-msexchhidefromaddresslists?forum=WindowsAzureAD там и увидела замечание про mailNickname.

      Удалить
  4. Спасибки огромное за помощь! :)

    ОтветитьУдалить
  5. не совсем по теме пользователей, но отголосок от САБжа есть. Вдруг в курсе, группы Office365 скрываются из адресной книги?

    ОтветитьУдалить
    Ответы
    1. Через PowerShell команда:
      Set-UnifiedGroup groupname -HiddenFromAddressListsEnabled $true
      А вот в визуальном интерфейсе не видела, где это делается.

      Удалить
    2. Сенькс! Попробуем...

      Удалить
    3. вот только не через пробел а через :
      Set-UnifiedGroup groupname -HiddenFromAddressListsEnabled:$true
      хотя в доках майкрософта указано через пробел

      Удалить
    4. Спасибо за информацию :)

      Удалить
  6. Подскажите, пожалуйста. У меня в редакторе атрибутов нет такого атрибута у пользователя =(

    ОтветитьУдалить
    Ответы
    1. Странно. Если настроена синхронизация, то такие атрибуты должны быть. Поищите похожий, может после обновления AAD Connect там что-то поменялось. Напишите, если найдете.

      Удалить
    2. Такой атрибут может отсутствовать, как например и у меня, в этом случае вам необходимо расширять схему AD через подключнный диск с файлами инсталляции Exchange Server. По умолчанию атрибутов почтовых в локальной AD нет(если у вас конечно не развернут сервер Exchange).

      Удалить
    3. вот ссылку нашел( в ней как пример указан Exchange 2013) Если вы используете Exchange Online, то качайте Exchange server 2016. Т.к. MS использует именно эту версию сервера. Актуально на дату написания этого поста!!!! Возможно в дальнейшем что то изменится

      Удалить
    4. https://www.tachytelic.net/2017/11/office-365-hide-a-user-from-gal-ad-sync/

      Удалить
    5. Выяснилось еще одна деталь. Необходимо в коннекторе включать гибридный режим Exchange. Что бы вы могли скрывать из адресной книги юзеров из локальной AD

      Удалить
  7. У меня стоит чуть другая задача. Существуют пользователи, которые уволены и их учетные записи в AD заблокированы. Можно ли сделать, чтобы эти записи не синхронизировались с Exchange Online?

    ОтветитьУдалить