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 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.