Управление списками адресов в Exchange Online

Список адресов — это набор поддерживающих почту объектов получателей в Exchange Online. В основе списков адресов лежат фильтры получателей. Дополнительные сведения о списках адресов см. в разделе Списки адресов в Exchange Online.

Дополнительные сведения о задачах управления, связанных со списками адресов, см. в разделе Процедуры со списками адресов в Exchange Online.

Ищете Exchange Server версию этого раздела? См . статью Создание списков адресов.

Что нужно знать перед началом работы

  • Предполагаемое время для завершения каждой процедуры: 5 минут.

  • По умолчанию роль "Список адресов" не назначается группам ролей в Exchange Online. Чтобы использовать командлеты, для которых требуется роль списка адресов, необходимо добавить ее в группу ролей. Дополнительные сведения см. в разделе Изменение групп ролей.

  • Вы можете использовать Exchange Online PowerShell только для выполнения практически всех процедур, описанных в этом разделе (все, кроме скрытия получателей из списков адресов). Сведения о том, как подключиться к Exchange Online PowerShell, см. в статье Подключение к Exchange Online PowerShell.

Совет

Возникли проблемы? Обратитесь за помощью к участникам форумов Exchange. Посетите форумы по адресу Exchange Online или Exchange Online Protection.

Создание списков адресов с помощью Exchange Online PowerShell

Вы можете создавать списки адресов как с фильтрами получателей, так и без них. Дополнительные сведения о фильтрах получателей см. в статье Фильтры получателей для списков адресов в Exchange Online PowerShell.

Чтобы создать список адресов, используйте следующий синтаксис:

New-AddressList -Name "<Address List Name>" [-Container <ExistingAddressListPath>] [<Precanned recipient filter | Custom recipient filter>] [-RecipientContainer <OrganizationalUnit>]

В этом примере создается список адресов с предварительно заданным фильтром получателей:

  • Название: Юго-Восточные офисы

  • Расположение: в корневом каталоге (" \, также известном как Все списки адресов), так как мы не использовали параметр Container , а значение по умолчанию — " \".

  • Предуклонированный фильтр получателей: все пользователи с почтовыми ящиками, где значение штата или провинции — GA, AL или LA (Джорджия, Алабама или Луизиана).

New-AddressList -Name "Southeast Offices" -IncludedRecipients MailboxUsers -ConditionalStateorProvince "GA","AL","LA"

В этом примере создается список адресов с настраиваемым фильтром получателей:

  • Имя: Северо-Западные руководители

  • Расположение: в существующем списке адресов с именем Северная Америка.

  • Настраиваемый фильтр получателей: все пользователи с почтовыми ящиками, в которых значение Title содержит Director или Manager, а значение штата или провинции — WA, OR или ID (Вашингтон, Орегон или Айдахо).

New-AddressList -Name "Northwest Executives" -Container "\North America"-RecipientFilter "(RecipientType -eq 'UserMailbox') -and (Title -like '*Director*' -or Title -like '*Manager*') -and (StateOrProvince -eq 'WA' -or StateOrProvince -eq 'OR' -or StateOrProvince -eq 'ID')"

Подробные сведения о синтаксисе и параметрах см. в разделе New-AddressList.

В этом примере создается список адресов с именами oregon and Washington Users с помощью параметра RecipientFilter и включает получателей, которые являются пользователями почтовых ящиков и для которых для параметра StateOrProvince задано значение Washington или Oregon.

New-AddressList -Name "Oregon and Washington" -RecipientFilter "((RecipientType -eq 'UserMailbox') -and ((StateOrProvince -eq 'Washington') -or (StateOrProvince -eq 'Oregon')))"

В этом примере создается дочерний список адресов «Building 34 Meeting Rooms» в родительском контейнере «All Rooms» с использованием встроенных условий.

New-AddressList -Name "Building 34 Meeting Rooms" -Container "\All Rooms" -IncludedRecipients Resources -ConditionalCustomAttribute1 "Building 34"

Подробные сведения о синтаксисе и параметрах см. в разделе New-AddressList.

Как проверить, все ли получилось?

Чтобы убедиться, что список адресов успешно создан, замените <AddressListIdentity> путем\name списка адресов и выполните следующую команду в Exchange Online PowerShell, чтобы проверить значения свойств:

Get-AddressList -Identity "<AddressListIdentity>" | Format-List Name,RecipientFilterType,RecipientFilter,IncludedRecipients,Conditional*

Использование Exchange Online PowerShell для просмотра членов списков адресов

Технически эта процедура возвращает всех получателей (включая скрытых получателей), которые соответствуют фильтрам получателей для списка адресов. Получатели, фактически видимые в списке адресов, имеют значение Falseсвойства HiddenFromAddressListsEnabled .

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

$<VariableName> = Get-AddressList -Identity <AddressListIdentity>; Get-Recipient -ResultSize unlimited -RecipientPreviewFilter $<VariableName>.RecipientFilter | select Name,PrimarySmtpAddress,HiddenFromAddressListsEnabled

В этом примере возвращаются члены списка адресов с именем Юго-Восточные офисы.

$AL = Get-AddressList -Identity "Southeast Offices"; Get-Recipient -ResultSize unlimited -RecipientPreviewFilter $AL.RecipientFilter | select Name,PrimarySmtpAddress,HiddenFromAddressListsEnabled

В этом примере результаты экспортируются в файл C:\My Documents\South Office Export.csv.

$AL = Get-AddressList -Identity "Southeast Offices"; Get-Recipient -ResultSize unlimited -RecipientPreviewFilter $AL.RecipientFilter | select Name,PrimarySmtpAddress,HiddenFromAddressListsEnabled | Export-Csv -NoTypeInformation -Path "C:\My Documents\Southeast Offices Export.csv"

Обновление списков адресов с помощью Exchange Online PowerShell

Командлет Update-AddressList (или Update-GlobalAddressList) недоступен в Exchange Online PowerShell. Если получатели, у которых должен появиться список адресов, нет, необходимо изменить необходимое значение свойства для этих пользователей на временное значение, а затем вернуться к значению, требуемому для списка адресов. Вы можете обновить значения свойств пользователя в Центре администрирования Exchange (EAC) или Exchange Online PowerShell, но быстрее выполнять массовые операции в PowerShell.

Например, предположим, что в списке адресов с именами Oregon and Washington Users используется фильтр "((RecipientType -eq 'UserMailbox') -and ((StateOrProvince -eq 'Washington') -or (StateOrProvince -eq 'Oregon')))", но список адресов не включает всех, чьи значения свойств StateOrProvince заданы правильно. Чтобы обновить список адресов, сделайте следующее:

  1. С помощью запроса из списка адресов найдите всех пользователей, которые должны быть в этом списке. Например:

    $Before = Get-User -Filter "((RecipientType -eq 'UserMailbox') -and ((StateOrProvince -eq 'Oregon') -or (StateOrProvince -eq 'Washington')))" -ResultSize Unlimited
    
  2. Измените необходимое значение свойства на временное. Например, измените значения StateOrProvince с Oregon на OR, а Washington — на WA:

    $Before | where {$_.StateOrProvince -eq 'Oregon'} | foreach {Set-User $_.Identity -StateOrProvince OR}
    
    $Before | where {$_.StateOrProvince -eq 'Washington'} | foreach {Set-User $_.Identity -StateOrProvince WA}
    
  3. Снова найдите этих пользователей по временным значениям свойств. Например:

    $After = Get-User -Filter "((RecipientType -eq 'UserMailbox') -and ((StateOrProvince -eq 'OR') -or (StateOrProvince -eq 'WA')))" -ResultSize Unlimited
    
  4. Измените временное значение на необходимое. Например, измените значения StateOrProvince с OR на Oregon, а WA — на Washington:

    $After | where {$_.StateOrProvince -eq 'OR'} | foreach {Set-User $_.Identity -StateOrProvince Oregon}
    
    $After | where {$_.StateOrProvince -eq 'WA'} | foreach {Set-User $_.Identity -StateOrProvince Washington}
    

Примечания:

  • Для свойств title, department и address требуются командлеты Get-User и Set-User . Свойства с CustomAttribute1 по CustomAttribute15 требуют командлетов Get-Mailbox и Set-Mailbox. Дополнительные сведения о свойствах, доступных для какого командлета, см. в следующих разделах:

  • Если в списке адресов отсутствует лишь небольшое количество пользователей, вы можете изменить необходимое значение свойства для каждого из них. Например:

    1. Задайте временное значение свойства для пользователя:

      Set-User -Identity <UserIdentity> -StateOrProvince WA
      
    2. Измените временное значение на необходимое:

      Set-User -Identity <Identity> -StateOrProvince Washington
      

Как проверить, все ли получилось?

Чтобы убедиться, что список адресов успешно обновлен, замените <AddressListIdentity> именем списка адресов и выполните следующую команду в Exchange Online PowerShell, чтобы проверить значение свойства RecipientFilterApplied:

Get-AddressList -Identity <AddressListIdentity> | Format-Table Name,RecipientFilterApplied -Auto

Изменение списков адресов с помощью Exchange Online PowerShell

Доступны те же основные параметры, что и при создании списка адресов. Дополнительные сведения см. в разделе Создание списков адресов с помощью Exchange Online PowerShell.

Чтобы изменить существующий список адресов, используйте следующую синтаксическую конструкцию:

Set-AddressList -Identity <AddressListIdentity> [-Name <Name>] [<Precanned recipient filter | Custom recipient filter>] [-RecipientContainer <OrganizationalUnit>]

При изменении значений условного параметра можно использовать следующий синтаксис для добавления или удаления значений, не затрагивая другие существующие значения: @{Add="<Value1>","<Value2>"...; Remove="<Value1>","<Value2>"...}.

В этом примере изменяется существующий список адресов с именем "Юго-Восточные офисы", добавляя значение штата или провинции TX (Техас) в предканированный фильтр получателей.

Set-AddressList -Identity "Southeast Offices" -ConditionalStateOrProvince @{Add="TX"}

Подробные сведения о синтаксисе и параметрах см. в разделе Set-AddressList.

Как проверить, все ли получилось?

Чтобы убедиться, что список адресов успешно изменен, замените <AddressListIdentity> путем\name списка адресов и выполните следующую команду в Exchange Online PowerShell, чтобы проверить значения свойств:

Get-AddressList -Identity "<AddressListIdentity>" | Format-List Name,RecipientFilterType,RecipientFilter,IncludedRecipients,Conditional*

Удаление списков адресов с помощью Exchange Online PowerShell

Чтобы удалить список адресов, используйте следующий синтаксис:

Remove-AddressList -Identity "<AddressListName>"

В этом примере показано, как удалить список адресов "Отдел продаж", который не содержит дочерних списков адресов.

Remove-AddressList -Identity "Sales Department"

Подробные сведения о синтаксисе и параметрах см. в разделе Remove-AddressList.

Как проверить, все ли получилось?

Чтобы убедиться, что список адресов успешно удален, выполните следующую команду в Exchange Online PowerShell, чтобы убедиться, что список адресов отсутствует в списке:

Get-AddressList

Скрытие получателей в списках адресов

Скрытие получателя из списков адресов не препятствует получателю получать сообщения электронной почты; она не позволяет пользователям найти получателя в списках адресов. Получатель скрыт во всех списках адресов и в общих адресных книгах (фактически он является исключением в фильтрах получателей во всех списках адресов). Если вы хотите выборочно включить получателя в определенные списки адресов и не включать в другие, вам необходимо настроить фильтры получателей в списках адресов таким образом, чтобы включить или исключить получателя.

Использование нового EAC для скрытия получателей из списков адресов

Сведения об открытии нового центра администрирования Exchange см. в разделе Центр администрирования Exchange в Exchange Online.

Вы не можете использовать новый EAC для скрытия групп Microsoft 365 из списков адресов.

  1. В новом EAC перейдите в одно из следующих расположений в зависимости от типа получателя:

    • Получателей>Почтовые ящики: почтовые ящики пользователей.

    • Получателей>Группы: группы рассылки, группы безопасности с поддержкой почты и динамические группы рассылки.

    • Получателей>Ресурсы: почтовые ящики помещений и оборудования.

    • Получателей>Контакты: почтовые пользователи и почтовые контакты.

    • Общедоступные папки>Общедоступные папки: общедоступные папки с поддержкой почты.

  2. Выберите получателя, которого нужно скрыть из списков адресов.

  3. Откроется окно свойств получателя. Дальнейшие действия зависят от типа получателя:

    • Почтовые ящики. На вкладке Учетная запись выберите Управление контактными данными. Затем выберите Скрыть из глобального списка адресов.

    • Группы. На вкладке Параметры выберите Скрыть эту группу в списке глобальных адресов.

    • Ресурсы. Щелкните карандаш и выберите Скрыть из списков адресов (GAL).

    • Контакты. Выберите Скрыть это из глобального списка адресов.

    • Общедоступные папки: на вкладке Общие свойства почты нажмите Не отображать в списке адресов Exchange.

  4. По завершении нажмите Сохранить.

Использование Exchange Online PowerShell для скрытия получателей из списков адресов

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

Set-<RecipientType> -Identity <RecipientIdentity> -HiddenFromAddressListsEnabled $true

<RecipientType> является одним из следующих значений:

  • DistributionGroup

  • DynamicDistributionGroup

  • Mailbox

  • MailContact

  • MailPublicFolder

  • MailUser

  • UnifiedGroup

В этом примере группа рассылки с именем Internal Affairs скрывается из списков адресов.

Set-DistributionGroup -Identity "Internal Affairs" -HiddenFromAddressListsEnabled $true

В этом примере почтовый ящик michelle@contoso.com скрывается из списков адресов.

Set-Mailbox -Identity michelle@contoso.com -HiddenFromAddressListsEnabled $true

Примечание. Чтобы получатель снова отображался в списках адресов, используйте значение $false параметра HiddenFromAddressListsEnabled .

Как проверить, все ли получилось?

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

  • В EAC выберите получателя, нажмите кнопку Изменить (значок редактирования) и убедитесь, что выбран параметр Скрыть из списков адресов.

  • В Exchange Online PowerShell выполните следующую команду и убедитесь, что указан получатель:

    Get-Recipient -ResultSize unlimited -Filter 'HiddenFromAddressListsEnabled -eq $true'
    
  • Откройте глобальный список адресов в Outlook или Outlook в Интернете (прежнее название — Outlook Web App) и убедитесь, что получатель не отображается.