Poniższy post został przeniesiony z draft bin ze względu na ostatnie zaangażowanie klienta. Administratorzy Exchange bardzo przyzwyczaili się do narzędzi Message Tracking UI, które dostarczane były wraz z poprzednimi buildami Exchange. Jest to całkowicie zrozumiałe, ponieważ są oni zobowiązani do rozwiązywania wielu problemów. Może pojawić się pytanie czy Steve z księgowości dostał tego maila w zeszłym tygodniu, lub dlaczego wiadomości od Anne z działu sprzedaży utknęły w kolejce? Przez ostatnie 10 lat narzędzie Exchange Message Tracking Tool było bronią z wyboru dla wielu administratorów podczas rozwiązywania takich problemów. Jednak w Exchange 2013 lub 2016 nie ma tego narzędzia. Zamiast tego możemy użyć Delivery Reports lub PowerShell do odpytywania logów śledzenia wiadomości.

Przewiń na sam dół po pro tip na dodanie GUI z powrotem do śledzenia wiadomości.

W najprostszej formie możemy użyć Get-MessageTrackingLog aby wyszukać i zwrócić wszystkie trafienia z określonego serwera. W każdej dużej organizacji, przewijanie listy wyników jest stratą czasu i nie jest efektywne. Musimy zastosować pewną logikę filtrowania.

Search By Sender

 Get-MessageTrackingLog -Sender [email protected]

Search By Recipient

 Get-MessageTrackingLog -Recipient [email protected]

Search By Recipient Domain

Zauważ, że możliwe jest również użycie symbolu wieloznacznego w wyszukiwaniu, aby uwzględnić całą domenę:

 Get-MessageTrackingLog -Recipients *@hotmail.co

Alternatywnie moglibyśmy użyć instrukcji where, takiej jak poniżej, chociaż będzie to zazwyczaj wolniejsze

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

Search By Subject

 Get-MessageTrackingLog -MessageSubject "I Am Zorg"

Search By MessageID

 Get-MessageTrackingLog -MessageId <MessageID>

Search By Time Window

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

Search By Message EventID

 Get-MessageTrackingLog -ResultSize Unlimited -EventId "Fail"

Multiple Example – Time Window & EventID & Sender

Różne elementy można łączyć w celu odfiltrowania niepożądanych wyników.

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

Get All Messages In the Last Hour

Zauważ, że AddHours jest używane z wartością ujemną, aby przesunąć okno wyszukiwania o godzinę do tyłu.

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

Eksport do CSV

Jeśli jesteś czarnym pasem Excela, możliwe jest wyeksportowanie wyników wyszukiwania do pliku CSV w celu późniejszej analizy w Excelu.

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

Measure Execution Time

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

Search GUI For Exchange 2013/2016

Jak zauważyliśmy na początku tego wpisu nie ma już narzędzia Message Tracking log Explorer w Exchange 2013 lub 2016. To co możemy zrobić to stworzyć pożądane polecenie wyszukiwania używając jednego z powyższych przykładów a następnie użyć natywnej funkcjonalności PowerShella do wyświetlenia wyników w UI.

Jest to Out-GridView który jest obecny w PowerShellu od wielu, wielu, wielu lat.

Jako prosty przykład:

Get-MessageTrackingLog | Out-GridView

Exchange 2016 Get-MessageTrackingLog With Out-GridView

Przykłady

Articles

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.