メッセージ追跡ログの検索
適用先: Exchange Server 2010 SP2, Exchange Server 2010 SP3
トピックの最終更新日: 2015-03-09
ここでは、Exchange 管理コンソールまたは Exchange 管理シェルを使用して、メッセージ追跡ログを検索する方法について説明します。
メッセージ追跡ログは、ハブ トランスポート サーバーの役割、メールボックス サーバーの役割、またはエッジ トランスポート サーバーの役割がインストールされている Microsoft Exchange Server 2010 ベースのコンピューターでメッセージが転送される際のあらゆるメッセージ処理の詳細なログです。クライアント アクセス サーバーの役割またはユニファイド メッセージング サーバーの役割を持つ Exchange サーバーには、メッセージ追跡ログは用意されていません。メッセージ追跡ログは、メッセージ フォレンシック、メール フロー分析、レポート、およびトラブルシューティングに使用できます。
Exchange 管理シェル の Get-MessageTrackingLog コマンドレットおよび Exchange 管理コンソールの中のツールボックスにあるメッセージ追跡ツールを使用して、特定の検索条件を使用してメッセージ追跡ログのエントリを検索できます。
開始する前に
「トランスポート アクセス許可」の この手順を実行する際には、あらかじめアクセス許可を割り当てる必要があります。必要なアクセス許可の一覧については、以下を参照してください。 「メッセージ追跡」エントリ
Exchange 2010 を管理するために必要なアクセス許可、役割の委任、および権限の詳細については、「アクセス許可について」を参照してください。
ハブ トランスポート サーバーまたはメールボックス サーバーで、メッセージ追跡ログを検索する場合、エッジ トランスポート サーバーのメッセージ追跡ログにはアクセスできません。エッジ トランスポート サーバーのメッセージ追跡ログを検索する場合は、直接エッジ トランスポート サーバーから Get-MessageTrackingLog コマンドレットまたはメッセージ追跡ツールを実行する必要があります。
メッセージ追跡ログの検索は Microsoft Exchange のトランスポート ログ検索サービスによって異なります。このサービスを無効にするか停止すると、メッセージ追跡ログ ファイルを検索できません。ただし、このサービスを停止しても Exchange のその他の機能には影響しません。
重要
Microsoft Exchange を実行中のサーバーからメッセージ追跡ログ ファイルをコピーし、Get-MessageTrackingLog コマンドレットまたはメッセージ追跡ツールを使用してファイルを検索することはできません。また、既存のメッセージ追跡ログを保存すると、メッセージ追跡ログ ファイルのタイム スタンプが変更されるため、メッセージ追跡ログの検索に Exchange が使用するクエリ ロジックが意図したとおりに動作しません。
メッセージ追跡ログ検索の条件
すべてのメッセージ追跡ログ エントリには、さまざまなデータ フィールドがありますが、必ずしもすべてのフィールドを検索フィルターとして使用できるわけではありません。さらには、Get-MessageTrackingLog コマンドレットではさまざまな検索フィルターが利用可能なので、Exchange 管理シェル がより柔軟な検索を可能にします。
Get-MessageTrackingLog コマンドレットで使用される共通の検索フィルター
Exchange 管理シェル 内の Get-MessageTrackingLog コマンドレットでは、次のリストで説明されている検索フィルターを利用できます。
注意
検索フィルターに部分的な値、および複数の値を含めて使用する方法は、特に明記されていない限りサポートされていません。
Recipients この検索フィルターは recipient-address フィールドを使用します。受信者の完全な電子メール アドレスを入力する必要があります。区切り記号としてコンマを使用すると、複数の受信者を指定できます。単一のメッセージに複数の受信者が含まれる場合は、単一のメッセージ追跡ログ エントリにログ出力されます。展開されない配布グループ受信者は、配布グループの SMTP 電子メール アドレスでログに出力されます。
Sender この検索フィルターは sender フィールドを使用します。送信者の完全な電子メール アドレスを入力する必要があります。sender フィールドには、
Sender:
ヘッダー フィールドまたはFrom:
ヘッダー フィールド (Sender:
が存在しない場合) で指定された送信者の電子メール アドレスが含まれます。Server この検索フィルターは、検索対象のメッセージ追跡ログを含む Exchange サーバーを指定します。次のいずれかの値を使用して、サーバーを指定できます。
Name
完全修飾ドメイン名 (FQDN)
識別名 (DN)
従来の Exchange DN
GUID
EventID この検索フィルターは event-id フィールドを使用します。メッセージ追跡ツールでは、ボックスの一覧から EventID の値を選択します。Get-MessageTrackingLog コマンドレットでは、EventID の値をテキストで入力します。ただし、この値は、取り得る EventID の値のいずれかと完全に一致している必要があります。EventID は、各メッセージ追跡ログ エントリに割り当てられるイベント分類です。使用できる値は次のとおりです。
BADMAIL
DEFER
DELIVER
DSN
EXPAND
FAIL
POISONMESSAGE
RECEIVE
REDIRECT
RESOLVE
SEND
SUBMIT
TRANSFER
MessageID この検索フィルターはメッセージ ID フィールドを使用します。MessageID は
Message-ID:
ヘッダー フィールドの値です。Message-ID:
ヘッダー フィールドが存在しないか、空白の場合、任意の値が割り当てられます。この値は、メッセージの有効期間全体にわたって不変です。InternalMessageID この検索フィルターは internal-message-id フィールドを使用します。InternalMessageID は、メッセージを現在処理している Exchange サーバーが割り当てるメッセージ ID 整数です。
Subject** Get-MessageTrackingLog** コマンドレットのパラメーターは、MessageSubject という名前です。この検索フィルターは message-subject フィールドを使用します。部分的な値の使用がサポートされています。これは、
Subject:
ヘッダー フィールドに指定されたメッセージの件名です。メッセージ件名の追跡は、ハブ トランスポート サーバーおよびエッジ トランスポート サーバーの場合は Set-TransportServer コマンドレットによって、メールボックス サーバーの場合は Set-MailboxServer コマンドレットによって、いずれも MessageTrackingLogSubjectLoggingEnabled パラメーターを使用して制御されます。既定では、メッセージ件名ログが有効です。MessageTrackingLogSubjectLoggingEnabled パラメーターの値を$False
に設定して、メッセージ件名ログを無効にすることができます。Reference この検索フィルターは reference フィールドを使用します。このフィールドには、イベントの種類に応じた追加情報が含まれます。DSN イベントの場合、reference フィールドには DSN を発生させたメッセージの
MessageID:
が含まれます。SEND イベントの場合、reference フィールドにはすべての DSN メッセージのMessageID:
が含まれます。TRANSFER イベントの場合、reference フィールドにはフォークされているメッセージのMessageID:
が含まれます。Start この検索フィルターは、date-time フィールドを使用して、指定された End 日時で始まるメッセージ追跡エントリを検索します。このフィルターを単独で使用して、指定された日時以降または End パラメーターを下限とするすべてのメッセージ追跡ログ エントリを取得できます。
End この検索フィルターは、date-time フィールドを使用して、指定された End 日時より前のメッセージ追跡エントリを検索します。このフィルターを単独で使用して、指定された日時より前のまたは Start パラメーターを上限とするすべてのメッセージ追跡ログ エントリを取得できます。
注意
メッセージ追跡ログの date-time フィールドは世界協定時刻 (UTC) で情報を格納します。ただし、検索を実行するために使用しているコンピューターの地域の日時形式で日時検索条件を入力する必要があります。メッセージ追跡ログ検索ツールは、地域の日時クエリを自動的に UTC に変換します。検索結果では、UTC から地域の日時形式に自動的に変換されます。date-time フィールドには、特定のメッセージ追跡イベントの日時が記録されます。メッセージ発信日時は、メッセージが Exchange 組織に最初に受信された日時です。メッセージ発信日時は、すべての SEND および DELIVER イベントの message-info フィールドに格納されます。
Exchange 管理コンソールと Exchange 管理シェルで異なる検索フィルター
Exchange 管理シェル では、Get-MessageTrackingLog コマンドレットで ResultSize パラメーターを使用して、表示する検索結果の数を詳細に制御します。既定では、最大 1,000 件の検索結果が表示されます。ただし、この最大数は特定の数に変更できます。または、Unlimited
の値を使用してすべての結果を表示できます。Exchange 管理コンソールのメッセージ追跡ツールには、表示される検索結果の最大数をカスタマイズする方法はありません。
Exchange 管理シェルを使用してメッセージ追跡ログを検索する
次の表は、Exchange 管理シェルの Get-MessageTrackingLog コマンドレットを使用して利用できる検索フィルターの一覧です。
Get-MessageTrackingLog コマンドレットを使用して利用できる検索フィルター
検索フィルター | メッセージ追跡ログの対応するフィールド |
---|---|
最後 |
date-time |
EventId |
event-id |
InternalMessageId |
internal-message-id |
MessageId |
message-id |
MessageSubject |
message-subject |
受信者 |
recipient-address |
リファレンス |
リファレンス |
ResultSize |
なし。このパラメーターは検索で表示される結果の数を制限します。 |
Sender |
sender-address |
開始 |
date-time |
Get-MessageTrackingLog コマンドで使用可能なすべてのパラメーターは省略可能です。パラメーターなしで Get-MessageTrackingLog コマンドレットを入力すると、最後の 1,000 件のメッセージ追跡ログ エントリが表示されます。
Exchange 管理シェルを使用してメッセージ追跡ログを検索するには、次の操作を行います。
次のコマンドを実行します。
Get-MessageTrackingLog <SearchFilters>
たとえば、3/28/2011 8:00 AM から 3/28/2011 5:00 PM までに pat@contoso.com で送信されたすべての FAIL イベントについて、メッセージ追跡ログのすべてのエントリを検索するには、以下のコマンドを実行します。
Get-MessageTrackingLog -ResultSize Unlimited -Start "3/28/2011 8:00AM" -End "3/28/2011 5:00PM" -EventId "Fail" -Sender "pat@contoso.com"
Exchange 管理シェルで実行されたメッセージ追跡ログ検索の出力の制御
Get-MessageTrackingLog コマンドレットを使用してメッセージ追跡ログ検索を実行する場合は、各メッセージ追跡イベントごとに必ずしもすべてのフィールドが表示されるわけではありません。次の表は、既定で Get-MessageTrackingLog コマンドレットにより表示されるフィールドの一覧です。
既定で Get-MessageTrackingLog コマンドレットにより表示されるフィールド
検索フィールド | メッセージ追跡ログの対応するフィールド |
---|---|
EventId |
event-id |
ソース |
message-source |
Sender |
sender-address |
受信者 |
recipient-address |
MessageSubject |
message-subject |
次のガイドラインに従って、Exchange 管理シェル 管理シェルのコマンド出力オプションを使用して Get-MessageTrackingLog コマンドレットの出力を制御できます。
メッセージ追跡ログ検索の出力形式を制御できます。結果を一覧または表に表示できます。
重要
表形式が出力形式の最適な選択のようにも考えられますが、最適な選択ではない場合があります。表に表示されたフィールドに長い値が含まれる場合、表の列に合わせて値が切り詰められます。多くのフィールドを同時に表示しようとする場合も、同様に値が切り詰められます。一覧形式を使用する場合は、フィールドの値全体が常に表示されます。より多くの列を表示するために、Exchange 管理シェル ウィンドウの幅を既定値の 80 文字から増やすこともできます。Exchange 管理シェル ウィンドウのプロパティで、Exchange 管理シェル ウィンドウのサイズを調整します。
メッセージ追跡ログ検索で返された特定のフィールドを表示または非表示にすることができます。ワイルドカード文字 (*) がサポートされています。
検索の結果をファイルに送信できます。
Get-MessageTrackingLog コマンドレットで得られた結果で表示されるフィールド名は、フィルターを検索結果に適用するときに使用できるフィールド名と同じです。これらのフィールド名は、メッセージ追跡ログに格納された実際のフィールド名とは少し異なります。次の表は、メッセージ追跡ログで使用されるフィールド名と Get-MessageTrackingLog コマンドレットで使用されるフィールド名を並べて示しています。
メッセージ追跡ログで使用されるフィールド名と Get-MessageTrackingLog コマンドレットで使用されるフィールド名の比較
メッセージ追跡ログで使用されるフィールド名 | Get-MessageTrackingLog の結果にフィルターを適用するときに使用されるフィールド名 |
---|---|
date-time |
Timestamp |
client-ip |
ClientIp |
client-hostname |
ClientHostname |
server-ip |
ServerIp |
server-hostname |
ServerHostname |
source-context |
SourceContext |
connector-id |
ConnectorId |
source |
ソース |
event-id |
EventId |
internal-message-id |
InternalMessageId |
message-id |
MessageId |
recipient-address |
受信者 |
recipient-status |
RecipientStatus |
total-bytes |
TotalBytes |
recipient-count |
RecipientCount |
related-recipient-address |
RelatedRecipientAddress |
リファレンス |
リファレンス |
message-subject |
MessageSubject |
sender-address |
Sender |
return-path |
ReturnPath |
message-info |
MessageInfo |
Exchange 管理シェルを使用してメッセージ追跡ログの検索の出力を制御するには
次のコマンドを使用します。
Get-MessageTrackingLog <SearchFilters> | <Format-Table | Format-List> <FieldNames> <OutputFileOptions>
たとえば、最初の 1,000 件の Send イベントについてメッセージ追跡ログを検索し、一覧形式で結果を表示し、"Send" または "Receive" で始まる任意のフィールド名の値を表示し、結果を "C:\send search.txt" という名前の新しいファイルに書き込むには、次のコマンドを実行します。
Get-MessageTrackingLog -EventId "Send" | Format-List Send*,Receive* > "C:\send search.txt"
Exchange 管理シェルを使用した複数のサーバーでのメッセージ追跡ログからのメッセージの検索
MessageID:
ヘッダー フィールドの値は、Exchange 組織中を移動しても一定のまま変わらないメッセージ プロパティです。この値は、キュー表示ユーティリティでは InternetMessageId
という名前であり、メッセージ追跡ログ ユーティリティでは MessageId
という名前です。MessageID:
の値を特定すると、Exchange 組織内のすべてのハブ トランスポート サーバーまたはメールボックス サーバーで、メッセージ追跡ログからそのメッセージを検索できます。
Exchange 管理シェルを使用して、すべてのハブ トランスポート サーバーおよびメールボックス サーバーで、メッセージ追跡ログ エントリから特定のメッセージを検索するには
次のコマンドを使用します。
Get-ExchangeServer | where {$_.isHubTransportServer -eq $true -or $_.isMailboxServer -eq $true} | Get-MessageTrackingLog -MessageId "<messageid>" | Select-Object <commaseparatedfieldnames> | Sort-Object -Property <field>
たとえば、すべてのハブ トランスポート サーバーおよびメールボックス サーバーのメッセージ追跡ログから、
MessageID:
がba18339e-8151-4ff3-aeea-87ccf5fc9796@contoso.com
のメッセージに関連するすべてのエントリを検索し、date-time
、server-hostname
、client-hostname
、source
、event-id
、recipient-address for each entry
の各フィールドを表示し、結果をdate-time
フィールドで並べ替える場合は、次のコマンドを実行します。Get-ExchangeServer | where {$_.isHubTransportServer -eq $true -or $_.isMailboxServer -eq $true} | Get-MessageTrackingLog -MessageId "ba18339e-8151-4ff3-aeea-87ccf5fc9796@contoso.com" | Select-Object Timestamp,ServerHostname,ClientHostname,Source,EventId,Recipients | Sort-Object -Property Timestamp
構文およびパラメーターの詳細については、「get-MessageTrackingLog」を参照してください。
Exchange 管理シェル のコマンド出力オプションの詳細については、「Exchange 2010 で PowerShell を使用する (Exchange 管理シェル)」を参照してください。
Exchange 管理コンソールの使用によるメッセージ追跡ログの検索
Exchange 管理コンソールを使用してメッセージ追跡ログを検索するには
Exchange 管理コンソールを起動します。
コンソール ツリーで、[ツールボックス] をクリックします。結果ウィンドウで、[メッセージ追跡] をクリックします。操作ウィンドウで、[ツールを開く] をクリックします。
操作を求められたら、Outlook Web App にログインします。
[管理対象の選択] リストで、[組織] をクリックし、ナビゲーション ウィンドウで [レポート] をクリックします。
次の利用可能なオプションの値を構成することで、メッセージ追跡ログ検索の条件を選択します。
[検索するメールボックス] **[参照]**をクリックし、適切なメールボックスを選択します。
[次の宛先に送信したメッセージを検索する] 送信メッセージを検索する場合、このオプションをクリックし、[ユーザーの選択] をクリックしてユーザーを 1 名以上選択します。
[次の差出人から受信したメッセージを検索する] または、受信メッセージを検索する場合、このオプションをクリックし、[ユーザーの選択] をクリックして特定の受信者を選択します。
[件名でこれらの単語を検索する] 特定の賢明を含むメッセージを検索するには、検索条件のテキストを入力します。
[検索] をクリックし、[検索結果] ウィンドウで検索結果を確認します。
詳細情報
詳細については、以下のトピックを参照してください。
© 2010 Microsoft Corporation.All rights reserved.