Отслеживание сообщений (писем) в Microsoft 365

В облачном Exchange Online, как и в on-prem Exchange, есть встроенные мощные возможности для отслеживания полученных и отправленных пользователями писем. Трассировка писем позволяет узнать полную информацию о любом email сообщении, которое прошло через вашу организацию Exchange. С помощью трассировки вы сможете ответить на вопрос, получала ли ваша организация конкретное письмо, было ли оно доставлено в почтовый ящик пользователя или удаленную почтовую систему, или оно отфильтровано антиспам фильтрами или транспортными правилами. В этой статье мы рассмотрим основные способы трассировки (отслеживания) полученных и отправленных писем в Exchange Online (Microsoft 365) с помощь Exchange Admin Center и PowerShell.

Отслеживание сообщения в Exchange Admin Center

Вы можете выполнять трассировку сообщений прямо из веб интерфейса портала Exchange Admin Center. Аутентифицируйтесь в новом портал EAC (https://admin.exchange.microsoft.com) и перейдите в раздел Mail Flow -> Message Trace.

Exchange Admin Center трассирвка писем с помощью Message Trace

Для поиска в транспортных логах ваша учетная запись должна быть членом одной из следующих ролей Organization Management, Compliance Management или Help Desk.

В открывшемся окне доступны несколько предустановленных запросов для трассировки сообщения. Чтобы выполнить новый поиск, нажмите на Start a trace.

Заполните поля запроса. Можно указать:

  • Отправителя и/или получателя. В данном случае меня интересует информация обо всех письмах, отправленных в нашу организацию с внешнего домена gmail.com (*@gmail.com);
  • Промежуток времени для поиска. Отчет за последние 10 дней будет сформирован интерактивно. Если нужен поиск по логам старше 10 дней, такой отчет будет отправлен на указанный email;
  • В разделе Detailed Search Options можно указать дополнительные критерии поиска (Message ID, IP адрес, Delivery Status).

Для начала поиска нажмите кнопку Search.

параметры запроса на трассирвку письем в exchnage online

Перед вами должна появится информация о всех письмах, соответствующих вашим критериям.

таблица с найденными письмами

Можно щелкнуть по любому письму и посмотреть более детальную информацию. В данном примере письмо успешно доставлено в ящик получателя (Status: The message was delivered to the recipient’s Inbox folder).

статус доставки письма в microsoft 365

Последние 10 запросов трассировки сохраняются в консоли автоматически. Вы можете сохранить запросы, которые вы используете часто.

Трассировка сообщений в Exchange Online с помощью PowerShell

В on-prem Exchange для отслеживания отправленных/полученных писем в транспортных логах MessageTracking используется командлет Get-MessageTrackingLog. В облачном Exchange Online для трассировки сообщений используются командлеты Get-MessageTrace и Get-MessageTraceDetail.

Подключитесь к своему тенанту Microsoft 365 с помощью PowerShell модуля для Exchange Online:

Connect-ExchangeOnline -UserPrincipalName dm.bak@winitpro.onmicrosoft.com -ShowProgress $true

Если запустить командлет Get-MessageTrace без параметров, он вернет информацию обо всех письмах в вашем тенанте Exchange за последние 48 часов. Можно указать интервал дат для поиска с помощью параметров -StartDate и -EndDate. Выведем информацию обо всех письмах, которые были отправлены определенному пользователю (RecipientAddress) за последние 5 дней:

Get-MessageTrace -RecipientAddress dm.bak@winitpro.onmicrosoft.com -StartDate 7/18/21 -EndDate 7/22/21| select Received,SenderAddress,RecipientAddress,Subject,Size,Status|ft

Get-MessageTrace командлет для трассировки электронных писем в exchange online (office 365)

Командлет Get-MessageTrace по умолчанию возвращает максимум 1000 строк и на больших тенантах Exchange может выполняться довольно долго.

В одном запросе трассировки можно одновременно искать по полям RecipientAddress и SenderAddress.

Можно воспользоваться параметром -Status для поиска по статусу доставки письма (Failed, Pending, Delivered, Expanded, Quarantined, FilteredAsSpam).

Для вывода подробной информации по найденным событиям используйте пайп с командлетом Get-MessageTraceDetail:

Get-MessageTrace -SenderAddress dm.bak@winitpro.onmicrosoft.com -StartDate 7/20/21 -EndDate 7/22/21|Get-MessageTraceDetail|fl
Get-MessageTraceDetail

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

Сначала нужно получить MessageId нужного вам письма для любого получателя:

Get-MessageTrace -RecipientAddress dm.bak@winitpro.onmicrosoft.com|fl

Get-MessageTrace получить MessageId

Затем скопируйте идентификатор письма и используйте в качестве аргумента параметра MessageId:

Get-MessageTrace -MessageId '<VI1P193MB05422485248CFE48357D13EF97E39@VI1P193MB0542.EURP193.PROD.OUTLOOK.COM>' | select Received, RecipientAddress, Subject, Status

Get-MessageTrace информацию о доставке в ящики нескольких отправителей

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

Результаты команды Get-MessageTrace можно сохранить в CSV файл для дальнейшего анализа в Excel:

Get-MessageTrace -SenderAddress dm.bak@winitpro.onmicrosoft.com|Export-Csv email_track_log.csv

В отличии от on-prem командлета Get-MessageTrackingLog, который ищет по всем доступным логам, Get-MessageTrace позволяет выполнить поиск только по сообщениям за последние 10 дней. Если вам нужно получить информацию о письмах, отправленных\доставленных более 10 дней назад, нужно выполнить исторические запросы с помощью командлета Start-HistoricalSearch.

При использовании командлета Start-HistoricalSearch в параметре NotifyAddress нужно указать email адрес, на который нужно отравить отчет:

Start-HistoricalSearch -ReportTitle "Trace2021-21-07" -ReportType MessageTrace -SenderAddress dm.bak@winitpro.onmicrosoft.com -StartDate 06/11/2021 -EndDate 07/22/2021 -NotifyAddress dm.bak@winitpro.onmicrosoft.com

Статус по историческим запросам трассировки можно получить с помощью команды:

Get-HistoricalSearch

поиск по историческим запросам в microsoft 365 Start-HistoricalSearch

Exchange Online хранит транспортные логи за последние 90 дней. Если указать больший интервал, появится ошибка:

Invalid StartDate value. The StartDate can't be greater than 90 days from today. 


Предыдущая статья Следующая статья


Комментариев: 1 Оставить комментарий

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)