メッセージ追跡ログを検索する

製品: Exchange Server 2013

Microsoft Exchange Server 2013 のメッセージ追跡ログは、メッセージがメールボックス サーバーのトランスポート サービス、メールボックス サーバーのメールボックス、およびエッジ トランスポート サーバーとの間で転送される際のすべてのアクティビティを詳細に記録したものです。

Exchange 管理シェル で Get-MessageTrackingLog コマンドレットを使用することで、メッセージ追跡ログのエントリを特定の検索条件で検索できます。

はじめに把握しておくべき情報

  • 予想所要時間 : 30 分

  • この手順を実行する際には、あらかじめアクセス許可が割り当てられている必要があります。 必要なアクセス許可を確認するには、「 メール フローのアクセス許可 」トピックの「メッセージ追跡」エントリを参照してください。

  • メッセージ追跡ログを検索するには、Microsoft Exchange トランスポート ログ Search Serviceが実行されている必要があります。 このサービスを無効にするか停止すると、メッセージ追跡ログの検索や配信レポートの実行ができません。 ただし、このサービスを停止しても Exchange のその他の機能には影響しません。

  • Get-MessageTrackingLog コマンドレットの結果によって表示されるフィールド名は、メッセージ追跡ログで使用される実際のフィールド名と似ています。 主な違いは次のとおりです。

    • ダッシュは、フィールド名から削除されます。 たとえば 、内部メッセージ ID は として InternalMessageId表示されます。

    • 日付/時刻フィールドは としてTimestamp表示されます。

    • 受信者アドレス フィールドは としてRecipients表示されます。

    • 送信者アドレス フィールドは としてSender表示されます。

  • メッセージ追跡ログの date-time フィールドは世界協定時刻 (UTC) で情報を格納します。 ただし、検索を実行するために使用しているコンピューターの地域の日付/時刻形式で 、Start パラメーターまたは End パラメーターの日付/時刻検索条件を入力する必要があります。

  • 別の Exchange サーバーからメッセージ追跡ログ ファイルをコピーし、それを Get-MessageTrackingLog コマンドレットで検索することはできません。 また、既存のメッセージ追跡ログ ファイルを手動で保存した場合、ファイルのタイム スタンプが変更され、メッセージ追跡ログを検索するための Exchange のクエリ ロジックが正常に動作しなくなります。

  • Exchange 2013 Get-MessageTrackingLog コマンドレットは、同じ Active Directory サイト内の Exchange 2007 および Exchange 2010 サーバー上のメッセージ追跡ログを検索できます。

  • このトピックの手順で使用可能なキーボード ショートカットについては、「Exchange 管理センターのキーボード ショートカット」を参照してください。

ヒント

問題がある場合は、 Exchange のフォーラムで質問してください。 Exchange Serverのフォーラムにアクセスしてください。

シェルを使用してメッセージ追跡ログを検索する

特定のイベントについてメッセージ追跡ログのエントリを検索するには、次の構文を使用します。

Get-MessageTrackingLog [-Server <ServerIdentity.] [-ResultSize <Integer> | Unlimited] [-Start <DateTime>] [-End <DateTime>] [-EventId <EventId>] [-InternalMessageId <InternalMessageId>] [-MessageId <MessageId>] [-MessageSubject <Subject>] [-Recipients <RecipientAddress1,RecipientAddress2...>] [-Reference <Reference>] [-Sender <SenderAddress>]

サーバー上のメッセージ追跡ログから最新の 1,000 件のエントリを表示するには、次のコマンドを実行します。

Get-MessageTrackingLog

次の使用例は、ローカル サーバー上のメッセージ追跡ログを検索し、2013 年 3 月 28 日午前 8:00 から 2013 年 3 月 28 日午後 5 時 00 分まで、メッセージ送信者が であったpat@contoso.comすべての FAIL イベントのすべてのエントリを検索します。

Get-MessageTrackingLog -ResultSize Unlimited -Start "3/28/2013 8:00AM" -End "3/28/2013 5:00PM" -EventId "Fail" -Sender "pat@contoso.com"

以下の構文を使用します。

Get-MessageTrackingLog <SearchFilters> | <Format-Table | Format-List> [<FieldNames>] [<OutputFileOptions>]

この例では、以下の検索条件でメッセージ追跡ログを検索します。

  • Send イベントの最初の 1,000 件について結果を返します。

  • 結果をリスト形式で表示します。

  • または RecipientSend始まるフィールド名のみを表示します。

  • という名前の新しいファイルに出力を書き込む D:\Send Search.txt

Get-MessageTrackingLog -EventId Send | Format-List Send*,Recipient* > "D:\Send Search.txt"

シェルを使用して、メッセージ追跡ログで複数のサーバー上のメッセージ エントリを検索する

通常、 MessageID: ヘッダー フィールドの値は、メッセージが Exchange 組織内を移動する間は変わりません。 このプロパティの名前は、キュー表示ユーティリティでは InternetMessageId 、メッセージ追跡ログ表示ユーティリティでは MessageId です。 特定のメッセージの値を MessageID: 決定したら、Exchange 組織内のすべてのメールボックス サーバーのメッセージ追跡ログでそのメッセージに関する情報を検索できます。

すべてのメールボックス サーバー間で特定のメッセージのすべてのメッセージ追跡ログ エントリを検索するには、次の構文を使用します。

Get-ExchangeServer | where {$_.isHubTransportServer -eq $true -or $_.isMailboxServer -eq $true} | Get-MessageTrackingLog -MessageId <MessageID> | Select-Object <CommaSeparatedFieldNames> | Sort-Object -Property <FieldName>

この例では、次の検索条件を使用して、すべての Exchange 2013 メールボックス サーバーのメッセージ追跡ログを検索します。

  • MessageID: の値<ba18339e-8151-4ff3-aeea-87ccf5fc9796@mailbox01.contoso.com>を持つメッセージに関連するすべてのエントリを検索します。 山かっこ文字 (<>) は省略できます。 省略しない場合は、 MessageID: の値全体を二重引用符で囲む必要があります。

  • エントリごとに、 date-timeserver-hostnameclient-hostnamesourceevent-id 、および recipient-address の各フィールドを表示します。

  • date-time フィールドに基づいて結果を並べ替えます。

Get-ExchangeServer | where {$_.isHubTransportServer -eq $true -or $_.isMailboxServer -eq $true} | Get-MessageTrackingLog -MessageId ba18339e-8151-4ff3-aeea-87ccf5fc9796@mailbox01.contoso.com | Select-Object Timestamp,ServerHostname,ClientHostname,Source,EventId,Recipients | Sort-Object -Property Timestamp

EAC を使用してメッセージ追跡ログを検索する

Exchange 管理センター (EAC) にある管理者向けの配信レポート機能を使用することで、組織内の特定のメールボックスで送受信されたメッセージの情報をメッセージ追跡ログから検索できます。 詳細については、「 配信レポートを使用してメッセージを追跡する」を参照してください。