Get-MessageTrackingLog Exchange naplókövetés

A parancsmag segítségével elemezheti a szállítási naplókat, amikor e-maileket követ az Exchange-ben. Get-MessageTrackingLog Exchange Management Shell konzol. Ebben a cikkben felsorolom az egysoros PowerShell-parancsok példáit, amelyeket gyakran használok az e-mail útválasztás keresésekor és nyomon követésekor az Exchange Server 2016/2013/2010 és az Office 365 (Exchange Online).

Hadd emlékeztessem önöket, hogy az Exchange szállítási naplóit egy könyvtárban tárolják % ExchangeInstallPath% TransportRoles \ Naplók \ MessageTracking és a naplók elemzésének leghatékonyabb és rugalmasabb módja az Exchange rendszer üzenetkövetésekor a Get-MessageTrackingLog parancsmag használata.

Mindenekelőtt fontolja meg a Get-MessageTrackingLog parancsmag fő paramétereit, amelyeket az események szűrésére használhat a naplókban. A leggyakrabban használt parancsmag-paraméterek:

  • feladó - keresés feladó szerint;
  • A címzettek - keresés címzett szerint;
  • szerver - Keressen egy adott szállítási szerveren
  • kezdet "2019.02.30. 08:00:00" -vég “02/31/2019 21:00:00” - keresés egy meghatározott időtartamra;
  • MessageSubject - keresés az üzenet tárgyában;
  • Eseményazonosító - keresés szerver eseménykód alapján (általában RECEIVE, SEND, FAIL, DSN, DELIVER, BADMAIL, RESOLVE, EXPAND, REDIRECT, transzfer, beküldés, POISONMESSAGE, DEFER kódot használnak);
  • messageID - betűk követése az azonosító alapján.

Ha futtatja a parancsmagot Get-MessageTrackingLog paraméterek nélkül az elmúlt 30 napban az Exchange naplókból származó összes esemény megjelenik. Jó, hogy egy ilyen futtatáskor a parancsmag csak az utolsó 1000 eseményt jeleníti meg. A megjelenített események számának korlátjának eltávolításához meg kell adnia a paramétert -ResultSize Korlátlan (ezt nem javasoljuk további szűrési paraméterek meghatározása nélkül, mert a kiszolgálón lehetséges a nagy terhelés).

Az Exchange eseményekkel kapcsolatos információkat az oldal formájában jelenítheti meg:

Get-MessageTrackingLog | Out-Host - lapozás

Az adatok táblázatos formában történő bemutatásához és az oszlopok szélességének igazításához használja a Format-Table parancsmagot:

Get-MessageTrackingLog | Táblázat formátum - Automatikus méret

Ha az Exchange szervezete több Hub Transport kiszolgálót használ, akkor a kiszolgálónaplókban történő kereséshez adja meg a kiszolgáló nevét argumentumként a -Server paraméterhez, vagy futtassa a keresési parancsot minden Hub Transport kiszolgálóra:

Get-TransportServer | Get-MessageTrackingLog

Megjelenítjük az összes betűt az elmúlt 12 órában ((Get-Date) .AddHours (-12)), amelyben a @ gmail.com levelezőrendszer címzettje van megjelölve címzettként:

Get-MessageTrackingLog -Start (Get-Date) .AddHours (-12) -ResultSize korlátlan | ahol [karakterlánc] $ _. címzettek - hasonlóan a "*@gmail.com"

Az összes levél megjelenítése, amelyet egy adott felhasználó küldött egy meghatározott ideig egy megadott kiszolgálón keresztül (csak bizonyos mezők jelennek meg a jelentésben):

Get-MessageTrackingLog -ResultSize korlátlan -Küldő "[email protected]" -kiszolgáló msk-hub-01 -Start "03/30/2019 08:00:00" -End "2014/04/04 21:00:00" | Select-object Időbélyegző, Küldő, Címzettek, MessageSubject, EventId | ft

Keresse meg az összes levelet, amelyet az egyik felhasználó küldött a másiknak, és töltse fel az eredményt egy CSV-fájlba:

Get-MessageTrackingLog -Sétadó "[email protected]" -Kedvezményezettek "[email protected]" -ResultSize korlátlan -kiszolgáló msk-hub-01 | Kiválasztott objektum időbélyegző, küldő, $ _. Címzettek, MessageSubject | Export-Csv -Path "C: \ ps \ exchange \ msg_tracking_out.csv" -Kódolás alapértelmezett -Delimiter ";"

Keresés a levél tárgyában. Az összes betű megjelenítéséhez, ahol a tárgysor a „teszt” kifejezést tartalmazza, futtassa a következő parancsot (hogy a keresési eredményeket külön táblázatos grafikus ablakban jelenítse meg, kényelmes opciókkal az adatok rendezéséhez, szűréséhez és kereséséhez, használhatja az out-gridview parancsmagot):

Get-MessageTrackingLog -MessageSubject "teszt" -ResultSize korlátlan -kiszolgáló msk-hub-01 | Kiválasztott objektum időbélyegző, küldő, $ _. Címzettek, MessageSubject | out-Gridview

Kereshet konkrét üzenet azonosító alapján (például az üzenet szolgáltatásfejlécéből kapta meg az Outlook programban):

Get-MessageTrackingLog -messageID "[email protected]" -ResultSize korlátlan -kiszolgáló msk-hub-01 | Select-Object időbélyegző, Küldő, $ _. Címzettek, MessageSubject

Az adott postaládához az elmúlt 7 nap bejövő üzeneteinek kiszámításához tegye a következőket:

(Get-MessageTrackingLog -EventID "RECEIVE" -Recipients "[email protected]" -ResultSize korlátlan) .Count

Megjelenítheti a betűk statisztikáját csoportosítással. Például azt szeretné megtudni, hogy a mail.ru domain különböző feladóitól hány levelet kapott 1 nap alatt (megjelenítjük az egyes küldemények feladói által küldött levelek számát):

Get-MessageTrackingLog -EventId "Fogadás" -Start (Get-Date) .AddDays (-1) -ResultSize Korlátlan | Hol-objektum $ _. Küldő-szerű "*@mail.ru" | Csoport-objektum feladó | Rendezés-objektum szám - csökkenő | Formátum-táblázat *

Az Exchange felhasználói postaládákban tárolt e-mailek kereséséhez használja a Search-Mailbox parancsmagot.

Az Office 365 képes nyomkövetési naplókat keresni az Exchange Admin Center (EAC) webes felületéről. Menjen a szakaszba Mail Flow -> Message Trace. Töltse ki a kereséshez szükséges mezőket. Lényegében ez a Get-MessageTrackingLog parancsmag webes felülete, amely lehetővé teszi a felhasználó számára, hogy a PowerShell parancsot egyszerű formában hozzon létre naplókban történő üzenetkereséshez..

A fenti módszerek segítenek az Exchange rendszerben elküldött és fogadott üzenetek statisztikáinak begyűjtésében, valamint az üzenetek küldésével kapcsolatos problémák diagnosztizálásában.