Možete koristiti cmdlet za analizu transportnih dnevnika prilikom praćenja e-pošte u programu Exchange. Get-MessageTrackingLog Konzola za upravljanje Exchange. U ovom članku navest ću primjere jednorednih naredbi PowerShell koje često koristim pri pretraživanju i praćenju usmjeravanja pošte u Exchange Serveru 2016/2013/2010 i Office 365 (Exchange Online).
Podsjetit ću da se podaci o prijevoznom sustavu Exchange pohranjuju u direktoriju % ExchangeInstallPath% TransportRoles \ Dnevnici \ Traženje poruka
a najučinkovitiji i najfleksibilniji način za analizu ovih zapisnika prilikom praćenja poruka u sustavu Exchange je upotreba cmdleta Get-MessageTrackingLog.
Prije svega, razmislite o glavnim parametrima cmdleta Get-MessageTrackingLog koji možete koristiti za filtriranje događaja u zapisnicima. Najčešće korišteni parametri cmdleta su:
- pošiljalac - pretraživanje po pošiljatelju;
- primatelji - pretraživanje po primatelju;
- server - Traži na određenom transportnom poslužitelju
- početak "30.02.2019 08:00:00" -kraj “31.02.2019 21:00:00” - potražite određeno vremensko razdoblje;
- MessageSubject - pretraživanje na temu poruke;
- EventID - pretraživanje prema kodu događaja na poslužitelju (koriste se obično kodovi RECEIVE, SEND, FAIL, DSN, DOSTAVA, BADMAIL, RESOLVE, EXPAND, REDIRECT, TRANSFER, SUBMIT, POISONMESSAGE, DEFER);
- messageID - praćenje pisama po ID-u.
Ako pokrenete cmdlet Get-MessageTrackingLog
bez parametara bit će prikazani svi događaji iz Exchange dnevnika u zadnjih 30 dana. Dobro je što s takvim pokretanjem, cmdlet prikazuje samo zadnjih 1000 događaja. Da biste uklonili ograničenje broja prikazanih događaja, morate odrediti parametar -ResultSize Neograničeno (ne preporučuje se to bez određivanja dodatnih parametara filtriranja zbog mogućeg opterećenja na poslužitelju).
Informacije o Exchange događajima možete prikazati u obliku stranice pomoću naredbe:
Get-MessageTrackingLog | Izvan domaćina-Stranica
Da biste podatke prikazali u tabličnom obliku i poravnali širinu stupaca, upotrijebite cmdlet Format-Table:
Get-MessageTrackingLog | Format-tablica -AutoSize
Ako vaša organizacija Exchange koristi nekoliko poslužitelja prometa Hub, za pretraživanje dnevnika poslužitelja navedite naziv poslužitelja kao argument parametru -Server ili pokrenite naredbu za pretraživanje za svaki Hub Transport poslužitelj:
Get-TransportServer | Get-MessageTrackingLog
Prikazujemo sva slova u zadnjih 12 sati ((Datum-datum). AddHours (-12)
) u kojem je primatelj iz poštanskog sustava @ gmail.com naveden kao primatelj:
Get-MessageTrackingLog -Start (Get-Date) .AddHours (-12) -ResultSize neograničeno | gdje [string] $ _. primatelji -like "*@gmail.com"
Da biste prikazali sva pisma koja je određeni korisnik poslao određeno vrijeme kroz određeni poslužitelj (u izvješću će se prikazati samo određena polja):
Get-MessageTrackingLog -ResultSize neograničeno -Sender "[email protected]" -server msk-hub-01 -Start "30.03.2019 08:00:00" -Da "04.04.2019 21:00:00" | vremenski žig s odabranim objektom, pošiljatelj, primatelji, poruka, predmet, događaj | ft
Pronađite sva pisma koja je jedan korisnik poslao drugom i prenesite rezultat u CSV datoteku:
Get-MessageTrackingLog -Sender "[email protected]" -Recipients "[email protected]" -ResultSize neograničeno -server msk-hub-01 | Vremenska oznaka objekta-pošiljatelja, pošiljatelj, $ _. Primatelji, porukaSubjekt | Export-Csv -Path "C: \ ps \ exchange \ msg_tracking_out.csv" -Encoding Default -Delimiter ";"
Pretražite na temu pisma. Da biste prikazali sva slova s naslovnom linijom koja sadrži frazu "test", pokrenite sljedeću naredbu (da biste rezultate pretraživanja prikazali u zasebnom tabelarnom grafičkom prozoru s prikladnim opcijama za sortiranje, filtriranje i pretraživanje podataka, možete koristiti cmdlet out-gridview):
Get-MessageTrackingLog -MessageSubject "test" -ResultSize neograničeno -server msk-hub-01 | Vremenska oznaka objekta-pošiljatelja, pošiljatelj, $ _. Primatelji, porukaSubjekt | out-GridView
Možete pretraživati prema određenom identifikatoru poruke (na primjer, dobili ste ga iz zaglavlja usluga u programu Outlook):
Get-MessageTrackingLog -messageID "[email protected]" -ResultSize neograničen -server msk-hub-01 | Vremenska oznaka objekta-pošiljatelja, pošiljatelj, $ _. Primatelji, porukaSubjekt
Da biste izračunali broj dolaznih poruka u zadnjih 7 dana za određeni poštanski sandučić, učinite:
(Get-MessageTrackingLog -EventID "RECEIVE" -Recipients "[email protected]" -ResultSize neograničeno) .Count
Možete prikazati statistiku pisama s grupiranjem. Na primjer, želite vidjeti koliko pisama raznih pošiljatelja iz domene mail.ru vaša je organizacija primila u jednom danu (prikazat ćemo ukupan broj pisama koje je poslao svaki vanjski pošiljatelj):
Get-MessageTrackingLog -EventId "Receive" -Start (Get-Date) .AddDays (-1) -ResultSize Neograničeno | Where-Object $ _. Pošiljatelj -like "*@mail.ru" | Pošiljatelj grupe-predmeta | Poredaj-Broj objekata -Padajući | Format-tablica *
Office 365 ima mogućnost pretraživanja zapisnika za praćenje s web sučelja Exchange Admin Center (EAC). Idite na odjeljak Tok protoka -> Trag poruke. Ispunite obavezna polja za pretraživanje. U suštini, ovo je web sučelje za cmdlet Get-MessageTrackingLog, koji korisniku omogućuje formiranje naredbe PowerShell u jednostavnom obliku za pretraživanje poruka pomoću zapisnika..
Gornje metode pomoći će vam da dobijete statistiku o porukama poslanim i primljenim u sustavu Exchange i dijagnosticirate probleme s slanjem poruka.