Understående inlägg har flyttats från utkastet till papperskorgen på grund av en ny kund. Exchange-administratörer har blivit mycket vana vid de UI-verktyg för spårning av meddelanden som har levererats med de tidigare Exchange-versionerna. Detta är helt förståeligt eftersom de måste utreda och lösa många problem. Det kan vara en fråga om Steve i bokföringen fick det där mejlet förra veckan, eller varför är meddelandena från Anne i försäljningen fast i en kö?
Under de senaste 10 åren eller så har Exchange Message Tracking Tool varit det bästa vapnet för många administratörer vid felsökning av sådana problem. Detta finns dock inte i Exchange 2013 eller 2016. Istället kan vi använda Delivery Reports eller PowerShell för att fråga loggarna för meddelande-spårning.
Rulla till botten för ett proffstips om att lägga till ett GUI tillbaka till meddelande-spårning.
I den enklaste formen kan vi använda Get-MessageTrackingLog för att söka och returnera alla träffar från den angivna servern. I alla stora organisationer är det slöseri med tid och ineffektivitet att bläddra genom alla utdata. Vi måste tillämpa en viss filtreringslogik.
Sök efter avsändare
Get-MessageTrackingLog -Sender [email protected]
Sök efter mottagare
Get-MessageTrackingLog -Recipient [email protected]
Sök efter mottagarens domän
Notera att det också är möjligt att använda ett jokertecken i sökningen för att inkludera en hel domän:
Get-MessageTrackingLog -Recipients *@hotmail.co
Alternativt kan vi använda en where-angivelse som den nedan, men detta kommer vanligtvis att vara långsammare
Get-MessageTrackingLog | Where {$_.Recipients -like "*tailspintoys.com"}
Sökning efter ämne
Get-MessageTrackingLog -MessageSubject "I Am Zorg"
Sökning efter meddelande-ID
Get-MessageTrackingLog -MessageId <MessageID>
Sökning efter tidsfönster
Get-MessageTrackingLog -ResultSize Unlimited -Start "3/28/2015 8:00AM" -End "3/28/2015 5:00PM" -EventId "Fail" -Sender "mailto:[email protected]"
Sökning By Message EventID
Get-MessageTrackingLog -ResultSize Unlimited -EventId "Fail"
Multiple Example – Time Window & EventID & Sender
De olika elementen kan kombineras för att filtrera bort oönskade resultat.
Get-MessageTrackingLog -ResultSize Unlimited -Start "3/28/2015 8:00AM" -End "3/28/2015 5:00PM" -EventId "Fail" -Sender "[email protected]"
Hämta alla meddelanden under den senaste timmen
Bemärk att AddHours används med ett negativt värde för att flytta sökfönstret en timme bakåt.
Get-MessageTrackingLog -Sender [email protected] -Server (Get-Date).AddHours(-1)
Exportera till CSV
Om du är ett svart bälte i Excel är det möjligt att exportera sökresultaten till en CSV-fil för efterföljande analys i Excel.
Get-MessageTrackingLog | Export-CSV –path C:\temp\tracking.csv –NoTypeInformation
Get-MessageTrackingLog | select @{Name="RecipientsXX";Expression={$_.Recipients}}
Måla exekveringstid
Measure-Command {Get-TransportServer | Get-MessageTrackingLog -MessageSubject "zorg" -ResultSize unlimited}
GUI för sökning för Exchange 2013/2016
Som noterades i början av det här inlägget finns det inte längre något verktyg för utforskare av loggbok för Message Tracking i Exchange 2013 eller 2016. Vad vi kan göra är att skapa det önskade sökkommandot med hjälp av ett av ovanstående exempel och sedan använda inhemsk PowerShell-funktionalitet för att visa resultaten i ett användargränssnitt.
Detta är Out-GridView som har funnits i PowerShell i många, många, många, många år.
Som ett enkelt exempel:
Get-MessageTrackingLog | Out-GridView