Настройка переадресации почты в Exchange Server: PowerShell и EAC
Автоматическая переадресация электронной почты — одна из самых востребованных задач администратора Exchange Server. Сотрудник уволился, ушёл в отпуск или перешёл в другой отдел — почта не должна пропадать. В этом руководстве разберём все способы настройки email-forwarding в Microsoft Exchange Server и Exchange Online (Microsoft 365): через графический интерфейс Exchange Admin Center, командлеты PowerShell и правила входящих сообщений (Inbox Rules).
Какие способы переадресации почты существуют в Exchange?
Exchange предоставляет администраторам три основных механизма для организации пересылки электронных писем. Каждый из них имеет свои преимущества и область применения, поэтому выбор конкретного метода зависит от сценария использования и требований безопасности вашей организации.
- Атрибут ForwardingAddress — переадресация на уровне почтового ящика, управляемая исключительно администратором. Поддерживает только внутренние mail-enabled объекты организации.
- Атрибут ForwardingSmtpAddress — более гибкий вариант, позволяющий перенаправлять почту на любой SMTP-адрес (внутренний или внешний). Пользователи могут менять этот параметр самостоятельно через Outlook Web App.
- Inbox Rules (правила входящих) — позволяют создавать условную переадресацию на основе темы, отправителя или других критериев письма.
Как настроить переадресацию через Exchange Admin Center?
Графический интерфейс Exchange Admin Center (EAC) — наиболее простой способ включить пересылку для отдельного почтового ящика. Метод подходит, когда нужно быстро настроить переадресацию без написания скриптов.
- Откройте веб-интерфейс Exchange Admin Center (обычно
https://mail-server/ecpдля on-premises или admin.exchange.microsoft.com для Microsoft 365). - Перейдите в раздел Recipients → Mailboxes и найдите целевой почтовый ящик.
- Нажмите Edit (иконка карандаша) для открытия свойств ящика.
- Перейдите на вкладку Mailbox Features.
- Прокрутите до раздела Mail Flow и нажмите View details.
- Включите опцию Enable forwarding и укажите целевой почтовый ящик.
- При необходимости активируйте флажок Deliver message to both forwarding address and mailbox, чтобы копия письма сохранялась в исходном ящике.
- Нажмите Save для сохранения настроек.
Как подключиться к 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
Какие рекомендации по безопасности переадресации стоит учитывать?
Некорректно настроенная переадресация может стать серьёзной угрозой для информационной безопасности организации. Вот ключевые практики, которые помогут минимизировать риски:
- Запретите пользователям самостоятельную пересылку на внешние адреса. Настройте
Remote DomainsсAutoForwardEnabled: $falseдля всех внешних доменов. - Регулярно выполняйте аудит атрибутов ForwardingAddress и ForwardingSmtpAddress на всех ящиках — не реже одного раза в месяц.
- Проверяйте Inbox Rules — пользовательские правила пересылки обходят политики Remote Domains и могут использоваться для утечки данных.
- Используйте мониторинг журналов событий для отслеживания изменений правил переадресации в реальном времени.
- Документируйте все настроенные пересылки и пересматривайте их при изменении кадрового состава.
Как настроить переадресацию для общих почтовых ящиков 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.
Также полезно комбинировать переадресацию с автоматизированными скриптами мониторинга, чтобы отслеживать объём перенаправленных писем и своевременно реагировать на аномалии.
Нужна профессиональная настройка Exchange Server?
Команда ITfresh выполнит развёртывание, миграцию и настройку Microsoft Exchange Server для вашей организации. Гарантируем корректную работу почтовой инфраструктуры и соблюдение стандартов безопасности.
Часто задаваемые вопросы
Чем 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. Второй способ безопаснее — полностью контролируется администратором.