Nedenstående indlæg blev forfremmet fra kladdebakken på grund af et nyligt kundeengagement. Exchange-administratorer er blevet meget vant til de UI-værktøjer til sporing af meddelelser, der er blevet leveret med de tidligere Exchange-byggerier. Dette er helt forståeligt, da de er forpligtet til at undersøge og løse mange problemer. Der kan være et spørgsmål om, hvorvidt Steve i regnskabsafdelingen fik den e-mail i sidste uge, eller hvorfor sidder beskederne fra Anne i salgsafdelingen fast i en kø?

I de sidste 10 år eller deromkring har Exchange Message Tracking Tool været det foretrukne våben for mange administratorer, når de skal fejlfinde sådanne problemer. Dette findes imidlertid ikke i Exchange 2013 eller 2016. I stedet kan vi bruge Delivery Reports eller PowerShell til at forespørge på logfilerne til sporing af meddelelser.

Rul til bunden for at få et pro-tip om at tilføje en GUI tilbage til sporing af meddelelser.

I den mest enkle form kan vi bruge Get-MessageTrackingLog til at søge og returnere alle hits fra den angivne server. I enhver stor organisation er det spild af tid og ikke effektivt at scrolle gennem de mange output. Vi er nødt til at anvende en vis filtreringslogik.

Søg efter afsender

 Get-MessageTrackingLog -Sender [email protected]

Søg efter modtager

 Get-MessageTrackingLog -Recipient [email protected]

Søg efter modtagerdomæne

Bemærk, at det også er muligt at bruge et wildcard i søgningen for at inkludere et helt domæne:

 Get-MessageTrackingLog -Recipients *@hotmail.co

Alternativt kan vi bruge en where-angivelse som f.eks, selvom dette typisk vil være langsommere

 Get-MessageTrackingLog | Where {$_.Recipients -like "*tailspintoys.com"}

Søgning efter emne

 Get-MessageTrackingLog -MessageSubject "I Am Zorg"

Søgning efter MessageID

 Get-MessageTrackingLog -MessageId <MessageID>

Søgning efter tidsvindue

 Get-MessageTrackingLog -ResultSize Unlimited -Start "3/28/2015 8:00AM" -End "3/28/2015 5:00PM" -EventId "Fail" -Sender "mailto:[email protected]"

Søgning By Message EventID

 Get-MessageTrackingLog -ResultSize Unlimited -EventId "Fail"

Multiple Example – Time Window & EventID & Sender

De forskellige elementer kan kombineres for at filtrere uønskede resultater fra.

 Get-MessageTrackingLog -ResultSize Unlimited -Start "3/28/2015 8:00AM" -End "3/28/2015 5:00PM" -EventId "Fail" -Sender "[email protected]"

Hent alle meddelelser i den sidste time

Bemærk, at AddHours bruges med en negativ værdi for at flytte søgevinduet en time tilbage.

 Get-MessageTrackingLog -Sender [email protected] -Server (Get-Date).AddHours(-1)

Eksport til CSV

Hvis du er et Excel-sort bælte, er det muligt at eksportere søgeresultaterne til en CSV-fil med henblik på efterfølgende analyse i Excel.

 Get-MessageTrackingLog | Export-CSV –path C:\temp\tracking.csv –NoTypeInformation
 Get-MessageTrackingLog | select @{Name="RecipientsXX";Expression={$_.Recipients}}

Måling af udførelsestid

 Measure-Command {Get-TransportServer | Get-MessageTrackingLog -MessageSubject "zorg" -ResultSize unlimited}

GUI til søgning i Exchange 2013/2016

Som nævnt i starten af dette indlæg er der ikke længere et værktøj til undersøgelse af logfiler til sporing af meddelelser i Exchange 2013 eller 2016. Det, vi kan gøre, er at udforme den ønskede søgekommando ved hjælp af et af ovenstående eksempler og derefter bruge native PowerShell-funktionalitet til at vise resultaterne i en brugergrænseflade.

Det er Out-GridView, som har været til stede i PowerShell i mange, mange, mange, mange år.

Som et simpelt eksempel:

Get-MessageTrackingLog | Out-GridView

Exchange 2016 Get-MessageTrackingLog With Out-GridView

Articles

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.