Exchange 2016 メール追跡ログの検索

Exchange 2016 でメール追跡ログを検索するための簡単な方法は、PowerShell の Get-MessageTrackingLog コマンドレットを使用することです。

メール追跡ログの検索

メール追跡は、メールがメールボックスサーバーとエッジトランスポートサーバーを通過する過程を記録します。メール追跡ログを検索する最善の方法は、Exchange 管理シェルの Get-MessageTrackingLog コマンドレットを使用することです。

いくつかの検索条件を使ってメール追跡ログから情報を取得します。以下に例を挙げます:
  • 特定の受信者に送られたメッセージの流れを把握する。
  • メールフロー規則がメッセージにどのように影響を与えたか調査する。
  • インターネットからの送信者が組織の Exchange 内にメールを送ったかどうかを確認する。
  • 特定ユーザーが特定の期間内に送信したすべてのメッセージを探す。

Exchange 2016 メール追跡ログの検索

メール追跡ログを検索するコマンドを実行します。Exchange イベントに関する情報をページング形式で表示するには、次のコマンドを実行します:

Get-MessageTrackingLog | Out-Host -Paging

データをテーブル形式で表示し、列幅を自動調整するには、Format-Table コマンドレットを使用します:

Get-MessageTrackingLog | Format-Table -AutoSize

Exchange 組織内で複数のトランスポートハブサーバーが使用されている場合、-Server パラメーターにサーバー名を指定します。それ以外の場合、パイプを使用して各トランスポートハブサーバーに対してメッセージ追跡コマンドを実行します:

Get-TransportServer | Get-MessageTrackingLog

@gmail.com ドメインからの受信者を指定し、過去24時間のすべてのメールを表示します:

Get-MessageTrackingLog -Start (Get-Date).AddHours(-24) -ResultSize Unlimited | Where-Object { $_.Recipients -like "*@gmail.com" }

特定ユーザーが指定されたサーバーを介して特定の期間内に送信したすべてのメールを表示します:

Get-MessageTrackingLog -Sender "sample@example.com" -Server hub-server-01 -Start "2020-11-30 06:00:00" -End "2020-12-13 22:00:00" | Select-Object TimeStamp, Sender, Recipients, MessageSubject, EventID | Format-Table

特定のユーザーから他のユーザーへのすべてのメールを見つけ、結果をCSVファイルに出力します:

Get-MessageTrackingLog -Sender "sample@example.com" -Recipients "other@example.com" -Server hub-server-01 -ResultSize Unlimited | Select-Object TimeStamp, Sender, Recipients, MessageSubject | Export-Csv -Path "C:\Logs\email_tracking.csv" -Encoding Default -Delimiter ";"

メッセージの件名を検索します。件名フィールドに「test」という文字列を含むすべてのメールを表示するには、次のコマンドを実行します:

Get-MessageTrackingLog -MessageSubject "test" -Server hub-server-01 -ResultSize Unlimited | Select-Object TimeStamp, Sender, Recipients, MessageSubject | Out-GridView

メッセージIDが既知である場合は、次のコマンドを実行します:

Get-MessageTrackingLog -MessageID "1234567890ABCDEF@example.com" -Server hub-server-01 -ResultSize Unlimited | Select-Object TimeStamp, Sender, Recipients, MessageSubject

過去7日間、特定のメールボックス宛ての受信メール数をカウントするには、次のコマンドを実行します:

(Get-MessageTrackingLog -EventID "RECEIVE" -Recipients "admin@example.com" -Start (Get-Date).AddDays(-7) -ResultSize Unlimited).Count

タグ: Exchange2016 PowerShell メール追跡 Get-MessageTrackingLog

6月30日 18:35 投稿