Sledenje dnevniku izmenjave - Get-MessageTrackingLog

Z ukaznim ukazom lahko analizirate dnevnike prevoza pri sledenju e-poštnih sporočil v programu Exchange. Get-MessageTrackingLog Konzola za upravljanje Exchange. V tem članku bom naštela primere enovrsticnih ukazov PowerShell, ki jih pogosto uporabljam pri iskanju in sledenju usmerjanja pošte v Exchange Server 2016/2013/2010 in Office 365 (Exchange Online).

Naj vas spomnim, da so dnevniki prevoza Exchange shranjeni v imeniku % ExchangeInstallPath% TransportRoles \ Dnevniki \ Sledenje sporočil in najučinkovitejši in najbolj prilagodljiv način za analizo teh dnevnikov pri sledenju sporočil v sistemu Exchange je uporaba cmdlet Get-MessageTrackingLog.

Najprej upoštevajte glavne parametre cmdleta Get-MessageTrackingLog, ki ga lahko uporabite za filtriranje dogodkov v dnevnikih. Najpogosteje uporabljeni parametri cmdlet so:

  • Pošiljatelj - iskanje po pošiljatelju;
  • Prejemniki - iskanje po prejemniku;
  • Strežnik - Iskanje na določenem transportnem strežniku
  • Začni "30.02.2019 08:00:00" -Konec “31.02.2019 21:00:00” - iskanje določenega obdobja;
  • Predmet sporočila - iskanje po temi sporočila;
  • Eventid - iskanje po kodi dogodka strežnika (ponavadi se uporabijo PRIJAVI, POŠLJI, NAPAKA, DSN, DOSTAVA, BADMAIL, REŠI, RAZŠIČI, PREDPOREDI, PRENOS, PREDPIS, POZONMESSAGE, DEFER);
  • messageID - sledenje črkam po ID-ju.

Če zaženete cmdlet Get-MessageTrackingLog brez parametrov bodo prikazani vsi dogodki iz borznih dnevnikov v zadnjih 30 dneh. Dobro je, da s takšnim izvajanjem ukazni ukaz prikaže samo zadnjih 1000 dogodkov. Če želite odstraniti omejitev števila prikazanih dogodkov, morate določiti parameter -ResultSize Neomejeno (ni priporočljivo, da to storite brez navedbe dodatnih parametrov filtriranja zaradi možne velike obremenitve strežnika).

Podatke o dogodkih v storitvi Exchange lahko v obliki obrazca prikažete s pomočjo ukaza:

Get-MessageTrackingLog | Out-Host -Strajanje

Če želite podatke predstaviti v tabeli in poravnati širino stolpcev, uporabite ukazni ukaz Format-Tabela:

Get-MessageTrackingLog | Format-Tabela -AutoSize

Če vaša organizacija Exchange za iskanje spletnih strežnikov uporablja več strežnikov Hub Transport, podajte ime strežnika kot argument parametra -Server ali zaženite iskalni ukaz za vsak transportni strežnik vozlišča:

Get-TransportServer | Get-MessageTrackingLog

Prikažemo vsa pisma v zadnjih 12 urah ((Datum-datum) .AddHours (-12)), v katerem je naslovnik iz poštnega sistema @ gmail.com naveden kot prejemnik:

Get-MessageTrackingLog -Start (Get-Date) .AddHours (-12) -ResultSize neomejeno | kjer [string] $ _. prejemnikov -like "*@gmail.com"

Če želite prikazati vsa pisma, ki jih določen uporabnik za določeno obdobje pošlje prek določenega strežnika (v poročilu bodo prikazana samo določena polja):

Get-MessageTrackingLog -ResultSize unlimited -Sender "[email protected]" -server msk-hub-01 -Start "30.03.2019 08:00:00" -Kraj "04.04.2019 21:00:00" | časovni žig izbranega predmeta, pošiljatelj, prejemniki, sporočilo, dogodek | ft

Poiščite vsa pisma, ki jih en uporabnik pošlje drugemu in rezultat naložite v datoteko CSV:

Get-MessageTrackingLog -Sender "[email protected]" -prejemniki "[email protected]" -ResultSize neomejeno -server msk-hub-01 | Čas žic za izbiro predmeta, pošiljatelj, $ _. Prejemniki, sporočilo | Export-Csv -Path "C: \ ps \ exchange \ msg_tracking_out.csv" -Encoding Privzeti -Delimiter ";"

Iščite po temi pisma. Če želite prikazati vse črke z zadevno vrstico, ki vsebuje stavek "test", zaženite naslednji ukaz (če želite rezultate iskanja prikazati v ločenem tabelarnem grafičnem oknu s priročnimi možnostmi za razvrščanje, filtriranje in iskanje podatkov, lahko uporabite ukazni ukaz Out-gridview):

Get-MessageTrackingLog -MessageSubject "test" -ResultSize neomejeno -server msk-hub-01 | Čas žic za izbiro predmeta, pošiljatelj, $ _. Prejemniki, sporočilo | zunajpregled omrežja

Iščete lahko po določenem identifikatorju sporočil (na primer, prejeli ste ga iz naslovov storitev sporočila v Outlooku):

Get-MessageTrackingLog -messageID "[email protected]" -ResultSize unlimited -server msk-hub-01 | Čas žic za izbiro predmeta, pošiljatelj, $ _. Prejemniki, sporočilo

Če želite izračunati število dohodnih sporočil v zadnjih 7 dneh za določen nabiralnik, naredite:

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

Lahko prikažete statistiko o črkah z razvrščanjem. Na primer, želite videti, koliko pisem različnih pošiljateljev iz domene mail.ru je vaša organizacija prejela v enem dnevu (prikazali bomo skupno število pisem, ki jih pošlje vsak zunanji pošiljatelj):

Get-MessageTrackingLog -EventId "Prejemanje" -Start (Get-Date) .AddDays (-1) -ResultSize Neomejeno | Kjer-Predmet $ _. Pošiljatelj-podoben "*@mail.ru" | Pošiljatelj skupinskih predmetov | Razvrsti-Število predmetov -Descending | Oblika tabele *

Za iskanje e-poštnih sporočil, shranjenih v uporabniških nabiralnikih Exchange, uporabite ukazni ukaz Search-Mailbox.

Office 365 ima možnost iskanja dnevnikov za sledenje iz spletnega vmesnika Exchange Admin Center (EAC). Pojdite na razdelek Tok pošte -> Sledenje sporočila. Izpolnite obvezna polja za iskanje. V bistvu je to spletni vmesnik za cmdlet Get-MessageTrackingLog, ki uporabniku omogoča oblikovanje ukaza PowerShell v preprosti obliki za iskanje sporočil po dnevnikih.

Zgornje metode vam bodo pomagale pridobiti statistiko o poslanih in prejetih sporočilih v sistemu Exchange in diagnosticirati težave pri pošiljanju sporočil.