Скрыть пользователя или группу в адресной книге Exchange/Office 365

Скрыть пользователя или группу в адресной книге Exchange/Office 365

В этой статье мы рассмотрим, как скрыть пользователя или группу рассылки в глобальном списке адресов Exchange (GAL — Global Address List). Инструкция применима как для облачного тенанта Exchange Online (Microsoft 365), так и для наземного Exchange Server 2019, 2016, 2013, 2010.

Как скрыть пользователей и группы из адресной книги Exchange (GAL)?

В Exchange Online (Microsoft 365) и on-prem Exchange Server все пользователи, контакты и группы рассылки автоматически включаются в адресную книгу организации. Любой пользователь может в Outlook увидеть все ящики и группы своей организации, а также их состав.

Вы можете скрыть любого пользователя или группу из адресной книги Exchange, если включите для него опцию Hide from address list. Эту опцию можно включить эту опцию в свойствах пользователя через Exchange Admin Center (EAC).

exchange admin center скрыть пользователя или группы рассылки из адресной книги

Или с помощью PowerShell. Подключитесь к своему on-prem Exchange серверу или облачному тенанту Exchange Online.

Чтобы скрыть пользователя в GAL, выполните:

Set-Mailbox -Identity AdeleV -HiddenFromAddressListsEnabled $true

Можно вывести всех пользователей, скрытых из адресной книги:

Get-Mailbox -ResultSize Unlimited | Where {$_.HiddenFromAddressListsEnabled -eq $True} | Select DisplayName,UserPrincipalName, HiddenFromAddressListsEnabled

скрыть пользователя из глобального списка адресов exchange с помощью powershell

Аналогичным образом можно скрыть из адресной книги:

  • Контакты:
    Set-MailContact someextcontact -HiddenFromAddressListsEnabled $true
  • Группы рассылки (Mail-enabled universal distribution groups и Mail-enabled universal security groups):
    Set-DistributionGroup global_server_admins -HiddenFromAddressListsEnabled $true
  • Динамические группы рассылки Exchange:
    Set-DynamicDistributionGroup all_msk_users -HiddenFromAddressListsEnabled $true
  • Группы Office (Microsoft) 365:
    Set-UnifiedGroup groupname1 -HiddenFromAddressListsEnabled:$true

Пользователи и группы будут скрыты в адресной книге после обновления GAL (может потребоваться до 24 часов).

Следующая команда выведет все скрытые объекты в адресной книге:

Get-Recipient -ResultSize unlimited -Filter 'HiddenFromAddressListsEnabled -eq $true' 

Для экспорта адресной книги в CSV файл выполните:

Get-Recipient -RecipientPreviewFilter $filter | Where-Object {$_.HiddenFromAddressListsEnabled -ne $true} | Select-Object Name,PrimarySmtpAddress, Phone | Export-CSV c:GAL.csv –NoTypeInformation

Во многих больших организациях используют отдельный PowerShell скрипт, который скрывает из адресной книги всех пользователей, чьи учетные записи отключены:

$mailboxes = get-user | where {$_.UserAccountControl -like '*AccountDisabled*' -and $_.RecipientType -eq 'UserMailbox' } | get-mailbox  | where {$_.HiddenFromAddressListsEnabled -eq $false}
foreach ($mailbox in $mailboxes) {Set-Mailbox -HiddenFromAddressListsEnabled $true -Identity $mailbox }

В Exchange Online для выбора отключенных ящиков пользователей можно использовать такую команду:

Get-MailBox -filter {ExchangeUserAccountControl -eq 'AccountDisabled' -and RecipientType -eq 'UserMailbox' -and RecipientTypeDetails -ne 'SharedMailbox' }

Скрыть пользователя из адресной книги при синхронизации через AD Connect

Если ящики пользователей находятся в Exchange Online (Microsoft 365), и синхронизируются из наземной Active Directory (через Azure AD Connect), не получится включать атрибут HiddenFromAddressListsEnabled в настройках пользователя в облачном Office 365.

Если вы попробуете это сделать через EAC, появится ошибка:

The operation on mailbox failed because it’s out of the current users’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.

The operation on mailbox failed because it’s out of the current users’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

В соответствии с этой ошибкой нужно включить опцию msExchHideFromAddressLists у пользователя в локальной Active Directory. Проще всего воспользоваться командлетом Set-ADUser из модуля AD PowerShell:

Set-ADUser kbuldogov -Add @{msExchHideFromAddressLists="TRUE"}

После синхронизации пользователя в Azure и обновления GAL, адрес пользователя станет скрыт в адресной книге Office 365.

Следующая команда выведет всех отключенных пользователей, которые еще не скрыты:

Get-ADUser  -Filter {(enabled -eq "false") -and (msExchHideFromAddressLists -notlike "*")}  -Properties enabled,msExchHideFromAddressLists

Если в вашей on-prem Active Directory никогда не был установлен Exchange, то вы не найдете атрибута msExchHideFromAddressLists (и других, кроме msExchAssistantName, msExchHouseIdentifier, msExchLabeledURI) в свойствах объектов. В этом случае вам придется расширить схему AD с помощью установочного диска Exchange.

Скрыть пользователей в группе рассылки Exchange

По умолчанию пользователи вашей организации/тенанта Exchange могут просматривать список пользователей в группе рассылки. Вы можете запретить отображать список пользователей в определенной группе рассылки. Для этого используется специальный атрибут групп в Active Directory — hideDLMembership. Данный атрибут запрещает разворачивать состав конкретной группы рассылки.

Состав групп не отображается для динамических групп распространения (Dynamic Distribution Group). Такие группы динамически обновляются в соответствии с указанным LDAP запросом. Но такое решение не будет универсальным и достаточно гибким.

Вы можете включить атрибут hideDLMembership в свойствах группы в консоли Active Directory Users and Computers (ADUC):

  1. Откройте консоль ADUC (
    dsa.msc
    );
  2. В меню View включите опцию Advanced Features;
  3. Вручную найдите группы рассылки или mail enabled группу безопасности с почтовым ящиком (mail enabled);
  4. Откройте свойства нужной группы и перейдите на вкладку Attribute Editor;
  5. Найдите атрибут с именем hideDLMembership и измените его значение на True. Сохраните изменения.Атрибут hideDLMembership

Внесенные изменения вступят в силу после того, как Exchange перегенерирует Global Addres List или Offline Address Book, и Outlook-и пользователей получат ее.

Адресная книга OutlookВ результате в адресной книге Outlook в окне свойств перестанет отображаться список пользователей, включенных в группу рассылки. То же самое касается OWA.

OWA - скрыть список группы в адресной книге

А при попытке развернуть группу в Outlook появится ошибка:

Cannot perform the requested operation. The command selected is not valid for this recipient. The operation failed.

не раскрывается группа рассылки в outlook

Exchange
Скрыть пользователя или группу в адресной книге Exchange/Office 365