Настройка переадресации почты в Exchange Server: PowerShell и EAC

Exchange 2026-03-24
Переадресация почты Exchange Server — схема конфигурации

Автоматическая переадресация электронной почты — одна из самых востребованных задач администратора Exchange Server. Сотрудник уволился, ушёл в отпуск или перешёл в другой отдел — почта не должна пропадать. В этом руководстве разберём все способы настройки email-forwarding в Microsoft Exchange Server и Exchange Online (Microsoft 365): через графический интерфейс Exchange Admin Center, командлеты PowerShell и правила входящих сообщений (Inbox Rules).

Какие способы переадресации почты существуют в Exchange?

Exchange предоставляет администраторам три основных механизма для организации пересылки электронных писем. Каждый из них имеет свои преимущества и область применения, поэтому выбор конкретного метода зависит от сценария использования и требований безопасности вашей организации.

Совет: При одновременной настройке ForwardingAddress и ForwardingSmtpAddress на одном ящике, приоритет всегда отдаётся ForwardingAddress. Значение ForwardingSmtpAddress будет проигнорировано.

Как настроить переадресацию через Exchange Admin Center?

Графический интерфейс Exchange Admin Center (EAC) — наиболее простой способ включить пересылку для отдельного почтового ящика. Метод подходит, когда нужно быстро настроить переадресацию без написания скриптов.

  1. Откройте веб-интерфейс Exchange Admin Center (обычно https://mail-server/ecp для on-premises или admin.exchange.microsoft.com для Microsoft 365).
  2. Перейдите в раздел Recipients → Mailboxes и найдите целевой почтовый ящик.
  3. Нажмите Edit (иконка карандаша) для открытия свойств ящика.
  4. Перейдите на вкладку Mailbox Features.
  5. Прокрутите до раздела Mail Flow и нажмите View details.
  6. Включите опцию Enable forwarding и укажите целевой почтовый ящик.
  7. При необходимости активируйте флажок Deliver message to both forwarding address and mailbox, чтобы копия письма сохранялась в исходном ящике.
  8. Нажмите Save для сохранения настроек.
Внимание: Через EAC нельзя настроить пересылку на внешний SMTP-адрес — для этого потребуется PowerShell или предварительное создание контакта (Mail Contact).

Как подключиться к Exchange Server из PowerShell?

Перед выполнением командлетов управления переадресацией необходимо установить PowerShell-сессию с Exchange Server. Процедура подключения различается для локального (on-premises) сервера и облачного Exchange Online.

Подключение к локальному Exchange Server

Для подключения к on-premises серверу используется удалённая PowerShell-сессия с Kerberos-аутентификацией:

$Cred = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange `
    -ConnectionUri http://exchange-srv.domain.local/PowerShell/ `
    -Authentication Kerberos -Credential $Cred
Import-PSSession $Session -DisableNameChecking

После выполнения этих команд в вашей консоли станут доступны все командлеты управления Exchange, включая Set-Mailbox, Get-Mailbox и New-InboxRule.

Подключение к Exchange Online (Microsoft 365)

Для работы с облачным Exchange Online необходим модуль ExchangeOnlineManagement:

Install-Module ExchangeOnlineManagement -Force
Connect-ExchangeOnline -UserPrincipalName admin@domain.onmicrosoft.com
Совет: Для автоматизации в скриптах используйте аутентификацию по сертификату вместо интерактивного ввода пароля — это безопаснее и позволяет выполнять команды по расписанию.

Как включить переадресацию почты через PowerShell?

Командлет Set-Mailbox — основной инструмент администратора для управления переадресацией на уровне почтового ящика. С его помощью можно включать, изменять и отключать пересылку писем для любого пользователя организации.

Включение переадресации с сохранением копии

Set-Mailbox -Identity user@domain.ru `
    -ForwardingAddress targetuser@domain.ru `
    -DeliverToMailboxAndForward $true

Параметр -DeliverToMailboxAndForward $true гарантирует, что копия каждого входящего письма останется в исходном ящике. Если установить значение $false, письма будут перенаправляться без сохранения копии — исходный ящик останется пустым.

Переадресация через ForwardingSmtpAddress

Set-Mailbox -Identity user@domain.ru `
    -ForwardingSmtpAddress smtp:external@gmail.com `
    -DeliverToMailboxAndForward $true

Обратите внимание на префикс smtp: перед адресом — он обязателен при использовании ForwardingSmtpAddress. Для пересылки на внешние домены необходимо предварительно убедиться, что домен разрешён в настройках Remote Domains.

Как проверить статус переадресации на почтовом ящике?

Регулярная проверка настроек пересылки — важная часть аудита безопасности. Злоумышленник, получивший доступ к ящику, может незаметно настроить ForwardingSmtpAddress на внешний адрес для перехвата конфиденциальной переписки.

Проверка конкретного ящика

Get-Mailbox -Identity user@domain.ru | Format-List `
    ForwardingAddress, ForwardingSmtpAddress, DeliverToMailboxAndForward

Команда выведет текущие значения обоих атрибутов переадресации и статус сохранения копий. Пустые значения означают, что переадресация не настроена.

Проверка домена на разрешение внешней пересылки

Get-RemoteDomain | Format-List DomainName, AutoForwardEnabled

Если AutoForwardEnabled имеет значение $false, пересылка через ForwardingSmtpAddress на адреса этого домена будет заблокирована Exchange Server.

Как найти все ящики с активной переадресацией в организации?

Массовый аудит переадресации — критически важная процедура для информационной безопасности. Рекомендуется выполнять её регулярно, особенно после инцидентов компрометации учётных записей.

Get-Mailbox -ResultSize Unlimited -Filter `
    "ForwardingAddress -like '*' -or ForwardingSmtpAddress -like '*'" |
    Select-Object Name, PrimarySmtpAddress, ForwardingAddress, `
    ForwardingSmtpAddress, DeliverToMailboxAndForward |
    Format-Table -AutoSize

Эта команда просканирует все почтовые ящики организации и выведет только те, на которых активна какая-либо переадресация. Результат можно экспортировать в CSV для дальнейшего анализа:

Get-Mailbox -ResultSize Unlimited -Filter `
    "ForwardingAddress -like '*' -or ForwardingSmtpAddress -like '*'" |
    Select-Object Name, PrimarySmtpAddress, ForwardingAddress, `
    ForwardingSmtpAddress | Export-Csv -Path C:\Reports\forwarding-audit.csv `
    -NoTypeInformation -Encoding UTF8

Как настроить переадресацию Exchange на внешний email-адрес?

Если требуется перенаправить почту на адрес за пределами организации с использованием более безопасного атрибута ForwardingAddress, необходимо предварительно создать объект типа Mail Contact.

Шаг 1: Создание контакта

New-MailContact -Name "Внешний: Иванов А.А." `
    -ExternalEmailAddress "a.ivanov@external-company.ru"

Шаг 2: Назначение переадресации

Set-Mailbox -Identity user@domain.ru `
    -ForwardingAddress "Внешний: Иванов А.А." `
    -DeliverToMailboxAndForward $true

Преимущество этого подхода — полный контроль администратора. Пользователь не сможет самостоятельно изменить или отключить переадресацию через Outlook.

Как создать условную переадресацию через Inbox Rules?

Правила входящих сообщений (Inbox Rules) позволяют настроить более гранулярную пересылку — по теме, отправителю, получателю или другим критериям. Это удобно, когда нужно перенаправлять не все письма, а только определённую категорию.

Пересылка по ключевым словам в теме

New-InboxRule -Name "Алерты DC на Helpdesk" `
    -Mailbox admin@domain.ru `
    -SubjectContainsWords "DCAlert","CriticalError" `
    -ForwardTo "helpdesk@domain.ru"

Пересылка от конкретного отправителя

New-InboxRule -Name "Письма от директора" `
    -Mailbox secretary@domain.ru `
    -From "director@domain.ru" `
    -ForwardTo "deputy@domain.ru" `
    -StopProcessingRules $true

Параметр -StopProcessingRules $true гарантирует, что после срабатывания этого правила дальнейшие правила не будут обрабатываться для данного письма.

Как провести аудит всех правил пересылки в Exchange?

Помимо атрибутов ящика, пользователи могут самостоятельно создавать правила пересылки через интерфейс Outlook. Для полноценного аудита безопасности необходимо проверять и эти правила.

$allMailboxes = Get-Mailbox -ResultSize Unlimited
$forwardRules = foreach ($mbx in $allMailboxes) {
    Get-InboxRule -Mailbox $mbx.Alias -ErrorAction SilentlyContinue |
    Where-Object {
        $_.ForwardTo -or $_.ForwardAsAttachmentTo -or $_.RedirectTo
    } | Select-Object @{N='Mailbox';E={$mbx.PrimarySmtpAddress}},
        Name, ForwardTo, ForwardAsAttachmentTo, RedirectTo, Enabled
}
$forwardRules | Format-Table -AutoSize

Скрипт перебирает все ящики организации, извлекает Inbox Rules и фильтрует только те, которые содержат действия пересылки. Результат включает адрес ящика-владельца, имя правила, целевые адреса и статус активности.

Важно: В крупных организациях с тысячами ящиков этот скрипт может выполняться длительное время. Рекомендуется запускать его в нерабочие часы или ограничивать выборку через параметр -OrganizationalUnit.

Как отключить переадресацию почты в Exchange?

Для полного отключения всех механизмов переадресации на конкретном ящике выполните следующую команду:

Set-Mailbox -Identity user@domain.ru `
    -ForwardingAddress $null `
    -ForwardingSmtpAddress $null `
    -DeliverToMailboxAndForward $false

Команда одновременно очищает оба атрибута переадресации и отключает параметр доставки копий. После выполнения все входящие письма будут доставляться только в исходный ящик.

Массовое отключение переадресации

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

Get-Mailbox -ResultSize Unlimited -Filter `
    "ForwardingAddress -like '*' -or ForwardingSmtpAddress -like '*'" |
    Set-Mailbox -ForwardingAddress $null `
    -ForwardingSmtpAddress $null `
    -DeliverToMailboxAndForward $false

Какие рекомендации по безопасности переадресации стоит учитывать?

Некорректно настроенная переадресация может стать серьёзной угрозой для информационной безопасности организации. Вот ключевые практики, которые помогут минимизировать риски:

Совет: В Microsoft 365 можно настроить политику защиты от спама для блокировки автоматической внешней пересылки на уровне организации.

Как настроить переадресацию для общих почтовых ящиков Exchange?

Общие почтовые ящики (Shared Mailboxes) часто используются для служебных адресов: info@, support@, sales@. Переадресация для них настраивается аналогично обычным ящикам, но с учётом нескольких особенностей.

# Создание общего ящика с переадресацией
New-Mailbox -Name "Support" -Shared -PrimarySmtpAddress support@domain.ru
Set-Mailbox -Identity support@domain.ru `
    -ForwardingAddress "admin@domain.ru" `
    -DeliverToMailboxAndForward $true

При создании Inbox Rules для общего ящика из PowerShell администратору не требуется предварительно предоставлять себе права Full Access на этот ящик — командлет New-InboxRule с параметром -Mailbox работает с правами администратора Exchange.

Также полезно комбинировать переадресацию с автоматизированными скриптами мониторинга, чтобы отслеживать объём перенаправленных писем и своевременно реагировать на аномалии.

IT-аутсорсинг для бизнеса

Нужна профессиональная настройка Exchange Server?

Команда ITfresh выполнит развёртывание, миграцию и настройку Microsoft Exchange Server для вашей организации. Гарантируем корректную работу почтовой инфраструктуры и соблюдение стандартов безопасности.

12+лет на рынке
200+клиентов
24/7поддержка

Часто задаваемые вопросы

Чем ForwardingAddress отличается от ForwardingSmtpAddress?

ForwardingAddress управляется только администратором и поддерживает пересылку на внутренние mail-enabled объекты. ForwardingSmtpAddress может настраиваться пользователем через Outlook/OWA и работает с любыми SMTP-адресами. При одновременной настройке обоих атрибутов приоритет у ForwardingAddress.

Как найти все ящики с включённой переадресацией?

Используйте команду Get-Mailbox -ResultSize Unlimited -Filter "ForwardingAddress -like '*' -or ForwardingSmtpAddress -like '*'". Для полного аудита дополнительно проверяйте Inbox Rules с помощью Get-InboxRule на наличие действий ForwardTo и RedirectTo.

Можно ли настроить переадресацию Exchange на внешний email?

Да, через ForwardingSmtpAddress напрямую (при условии разрешения в Remote Domains) или через ForwardingAddress с предварительным созданием Mail Contact. Второй способ безопаснее — полностью контролируется администратором.

Читайте также