搜尋郵件追蹤記錄檔
適用版本: Exchange Server 2010 SP2, Exchange Server 2010 SP3
上次修改主題的時間: 2015-03-09
本主題說明如何使用 Exchange 管理主控台或 Exchange 管理命令介面,來搜尋郵件追蹤記錄。
郵件追蹤記錄是郵件是與已安裝集線傳輸伺服器角色、信箱伺服器角色或邊際傳輸伺服器角色的 Microsoft Exchange Server 2010 的電腦往返傳送之所有郵件活動的詳細記錄。已安裝用戶端存取伺服器角色或整合通訊伺服器的 Exchange 伺服器不會有郵件追蹤記錄。您可以使用郵件追蹤記錄檔進行郵件鑑識、郵件流程分析、報告及疑難排解等工作。
您可以在 Exchange 管理命令介面 中使用 Get-MessageTrackingLog 指令程式,或者在 Exchange 管理主控台中使用工具箱中的郵件追蹤工具,以特定的搜尋準則來搜尋郵件追蹤記錄中的項目。
開始之前
您必須已獲指派權限,才能執行此程序。若要查看您需要的權限,請參閱 傳輸權限主題中的「郵件追蹤」項目。
如需管理 Exchange 2010 所需之權限、委派角色以及權利的相關資訊,請參閱 了解權限。
當您在集線傳輸伺服器或信箱伺服器上搜尋郵件追蹤記錄時,您無法存取邊際傳輸伺服器上的郵件追蹤記錄。如果您要搜尋 Edge Transport Server 上的郵件追蹤記錄檔,必須直接從 Edge Transport Server 執行 Get-MessageTrackingLog 指令程式或郵件追蹤工具。
郵件追蹤記錄的搜尋依賴 Microsoft Exchange Transport Log Search 服務。若您停用或停止此服務,您便無法搜尋郵件追蹤記錄檔。但是,停止此服務並不會影響 Exchange 中的其它功能。
重要事項: |
---|
您不能自執行 Microsoft Exchange 的伺服器中複製郵件追蹤記錄檔,然後又藉由使用 Get-MessageTrackingLog 指令程式或郵件追蹤工具來搜尋它們。此外,如果您儲存現有的郵件追蹤記錄檔,則郵件追蹤記錄檔日期時間戳記的變更會破壞 Exchange 用來搜尋郵件追蹤記錄檔的查詢邏輯。 |
郵件追蹤記錄搜尋的準則
雖然每個郵件追蹤記錄項目都有許多資料欄位可用,但不是每個欄位都可作為搜尋篩選器。另外,Exchange 管理命令介面 可為搜尋提供更高的彈性,因其具備許多可與 Get-MessageTrackingLog 指令程式一同使用的搜尋篩選器。
與 Get-MessageTrackingLog 指令程式一同使用的常用搜尋篩選器
在下列清單中所描述的搜尋篩選器可在 Exchange 管理命令介面 中與 Get-MessageTrackingLog 指令程式一同使用:
附註: |
---|
除非另有註明,否則不支援使用含有部份值或多個值的搜尋篩選器。 |
Recipients 此搜尋篩選器會使用 recipient-address 欄位。您必須輸入完整的收件者電子郵件地址。使用逗號作為分隔符號,則可以指定多位收件者值。使用單一郵件追蹤記錄項目,可以記錄單一郵件中所含的多位個別收件者。使用通訊群組的 SMTP 電子郵件地址,則可以記錄未展開的通訊群組收件者。
Sender 此搜尋篩選器會使用 sender 欄位。您必須輸入完整的寄件者電子郵件地址。Sender 欄位包含
Sender:
標頭欄位或From:
標頭欄位 (如果Sender:
不存在) 中指定的寄件者電子郵件地址。Server 此搜尋篩選器指定內含所要搜尋之郵件追蹤記錄檔的 Exchange 伺服器。您可以使用下列任一值來描述伺服器:
名稱
網域全名 (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 此搜尋篩選器會使用 message-id 欄位。MessageID 是
Message-ID:
標頭欄位的值。如果Message-ID:
標頭欄位不存在或空白,則會指派任意值。此值是郵件存留時間的常數。InternalMessageID 此搜尋篩選器會使用 internal-message-id 欄位。InternalMessageID 是目前處理郵件之 Exchange 伺服器所指派的郵件識別碼整數。
主旨 Get-MessageTrackingLog 指令程式中的參數名稱為 MessageSubject。此搜尋篩選器會使用 message-subject 欄位。支援部份值。這是
Subject:
標頭欄位中指定的郵件主旨。在集線傳輸伺服器及邊際傳輸伺服器上,郵件主旨的追蹤作業是由 Set-TransportServer 指令程式的 MessageTrackingLogSubjectLoggingEnabled 參數所控制,在信箱伺服器上,則是由 Set-MailboxServer 指令程式所控制。預設會啟用郵件主旨記錄。將 MessageTrackingLogSubjectLoggingEnabled 參數的值設定為$False
,可停用郵件主旨記錄。Reference 此搜尋篩選器會使用 reference 欄位。此欄位包含特定事件類型的其他資訊。若為 DSN 事件,reference 欄位會包含造成 DSN 之郵件的
MessageID:
。若為 SEND 事件,reference 欄位會包含任何 DSN 郵件的MessageID:
。若為 TRANSFER 事件,reference 欄位會包含要分支之郵件的MessageID:
。Start 此搜尋篩選器會使用日期時間欄位,來尋找以所指定結束日期及時間開始的郵件追蹤項目。您可以單獨使用此篩選器來擷取指定的日期時間之後的所有郵件追蹤記錄項目,或是作為 End 參數的下限。
End 此搜尋篩選器會使用日期時間欄位,來尋找截至指定之結束日期和時間 (不含) 的郵件追蹤項目。您可以單獨使用此篩選器來擷取指定的日期時間之前的所有郵件追蹤記錄項目,或是作為 Start 參數的上限。
附註: |
---|
郵件追蹤記錄檔中的日期時間欄位會以 Coordinated Universal Time (UTC) 儲存資訊。不過,請根據您執行搜尋之電腦上的地區日期時間格式,來輸入日期時間搜尋準則。郵件追蹤記錄檔搜尋工具會自動將地區日期時間查詢轉換成 UTC。搜尋結果會自動從 UTC 轉換回地區日期時間格式來顯示。日期時間欄位中會記錄特定郵件追蹤事件的日期時間。郵件原始日期時間是指郵件最初進入 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>
例如,若要在郵件追蹤記錄中搜尋由 pat@contoso.com,在 28.03.11 8:00 AM 至 28.03.11 5:00 PM 期間傳送之所有 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 管理命令介面,在多部伺服器上的郵件追蹤記錄檔中搜尋某封郵件
郵件在整個 Exchange 組織中傳輸時,始終都不會改變的郵件內容就是 MessageID:
標頭欄位。在佇列檢視公用程式中,此值名為 InternetMessageId
,在郵件追蹤記錄檔公用程式中,此值則名為 MessageId
。判定 MessageID:
的值之後,即可在 Exchange 組織中每部 Hub Transport Server 或 Mailbox Server 上的郵件追蹤記錄檔中搜尋該郵件。
使用 Exchange 管理命令介面在所有集線傳輸伺服器與信箱伺服器中搜尋特定郵件的郵件追蹤記錄檔項目
使用下列命令:
Get-ExchangeServer | where {$_.isHubTransportServer -eq $true -or $_.isMailboxServer -eq $true} | Get-MessageTrackingLog -MessageId "<messageid>" | Select-Object <commaseparatedfieldnames> | Sort-Object -Property <field>
例如,若要在所有 Hub Transport Server 及 Mailbox Server 上的郵件追蹤記錄檔中搜尋與
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 管理命令介面 中關於命令輸出的選項,請參閱 使用 PowerShell 與 Exchange 2010 (Exchange 管理命令介面)。
使用 Exchange 管理控制台搜尋郵件追蹤記錄
使用 Exchange 管理主控台搜尋郵件追蹤記錄
啟動 Exchange 管理主控台。
在主控台樹狀目錄中,按一下 [工具箱]。在結果窗格中,按一下 [郵件追蹤]。在執行窗格中,按一下 [開啟工具]。
看到提示時,請登入 Outlook Web App。
在 [選取要管理的項目] 清單中,按一下 [我的組織],然後按一下導覽窗格中的 [報告]。
藉由設定下列可用選項的值,為您的郵件追蹤記錄檔搜尋設定搜尋條件:
要搜尋的信箱 按一下 [瀏覽],然後選取適當的信箱。
搜尋傳送至此的郵件 若是您想搜尋已傳送的郵件,請按一下此選項,然後按一下 [選擇使用者],來選擇一位或多位使用者。
搜尋由此收到的郵件 或者,請按一下此選項以搜尋已接收的郵件,然後按一下「選取使用者」來選擇特定的收件者。
在主旨行中搜尋這些文字 若是您想搜尋包含特定主旨的郵件,請輸入搜尋條件文字。
按一下 [搜尋],然後檢閱 [搜尋結果] 窗格中的結果。
詳細資訊
如需相關資訊,請參閱下列主題:
© 2010 Microsoft Corporation. 著作權所有,並保留一切權利。