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