Postul de mai jos a fost promovat din coșul de ciorne din cauza unor angajamente recente ale unui client. Administratorii Exchange s-au obișnuit foarte bine cu instrumentele UI de urmărire a mesajelor care au fost livrate cu versiunile anterioare ale Exchange. Acest lucru este complet de înțeles, deoarece li se cere să investigheze și să rezolve numeroase probleme. Se poate pune întrebarea dacă Steve de la contabilitate a primit acel e-mail săptămâna trecută sau de ce mesajele de la Anne de la vânzări sunt blocate într-o coadă de așteptare?
În ultimii 10 ani sau cam așa ceva, instrumentul de urmărire a mesajelor Exchange a fost arma preferată de mulți administratori atunci când au rezolvat astfel de probleme. Cu toate acestea, acesta nu există în Exchange 2013 sau 2016. În schimb, putem folosi Delivery Reports sau PowerShell pentru a interoga jurnalele de urmărire a mesajelor.
Derulați până jos pentru un sfat profesional privind adăugarea unei interfețe grafice înapoi la urmărirea mesajelor.
În forma cea mai simplă, putem folosi Get-MessageTrackingLog pentru a căuta și a returna toate rezultatele de pe serverul specificat. În orice organizație mare, derularea prin șirurile de rezultate este o pierdere de timp și nu este eficientă. Trebuie să aplicăm o anumită logică de filtrare.
Search By Sender
Search By Recipient
Get-MessageTrackingLog -Recipient [email protected]
Search By Recipient Domain
Rețineți că este, de asemenea, posibil să folosiți un wildcard în căutare pentru a include un întreg domeniu:
Get-MessageTrackingLog -Recipients *@hotmail.co
În mod alternativ, am putea utiliza o instrucțiune where, cum ar fi cea de mai jos, deși aceasta va fi de obicei mai lentă
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 Exemplu – Time Window & EventID & Sender
Diferitele elemente pot fi combinate pentru a filtra rezultatele nedorite.
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
Rețineți că AddHours este utilizat cu o valoare negativă pentru a muta fereastra de căutare înapoi cu o oră.
Get-MessageTrackingLog -Sender [email protected] -Server (Get-Date).AddHours(-1)
Export to CSV
Dacă sunteți centura neagră Excel, este posibil să exportați rezultatele căutării într-un fișier CSV pentru o analiză ulterioară în Excel.
Get-MessageTrackingLog | Export-CSV –path C:\temp\tracking.csv –NoTypeInformation
Get-MessageTrackingLog | select @{Name="RecipientsXX";Expression={$_.Recipients}}
Măsurați timpul de execuție
Measure-Command {Get-TransportServer | Get-MessageTrackingLog -MessageSubject "zorg" -ResultSize unlimited}
GUI de căutare pentru Exchange 2013/2016
După cum s-a menționat la începutul acestei postări, nu mai există un instrument Message Tracking log Explorer în Exchange 2013 sau 2016. Ceea ce putem face este să elaborăm comanda de căutare dorită folosind unul dintre exemplele de mai sus și apoi să folosim funcționalitatea nativă PowerShell pentru a afișa rezultatele într-o interfață utilizator.
Aceasta este Out-GridView care a fost prezentă în PowerShell de mulți, mulți, mulți, mulți ani.
Ca un exemplu simplu:
Get-MessageTrackingLog | Out-GridView
.