0

Antispam report Exchange 2013/2016

Můj první článek na tomto blogu

Nedávno jsem se setkal s prosbou zda je možno udělat report nad funkcionalitou antispamu Exchange a trošku jsem narazil na problém, jak dostat nějaký inteligentní formát v rámci, kterého bych mohl hezky a přehledně vidět:

  • Kolik bylo zpracováno zpráv
  • Jaký agent provedl zablokování zprávy
  • Nějaké další informace k zablokování zprávy antispamem

Data jsou v Exchange na spoustě míst a je možno se k nim dostat různými způsoby a to buď pomocí Get-MessageTracking, z log souboru, ze kterého čte Message Tracking a nebo pomocí Get-AgentLog, což mi přišlo asi nejlepší pro sestavení zdroje dat.

Napadlo mě pro zpracování výstupu použít Excel, ale stejně dobře a možná i lépe to jde zpracovat například v PowerBI for Desktop.

Výstup by mohl vypadat nějak takto (Excel):

Exchange_antispam_report_excel

No a nebo by mohl vypadat třeba takto (PowerBI for Desktop):

Exchange_antispam_report_powerBI

Jelikož pracuji s reálnými daty, tak jsem musel příjemce a odesílatele rozmazat, aby mě pak někdo nenapadl za únik informací a emailových adres.

Excel má jednu velkou výhodu a to, že je možno připravit automatické makro, které data vzdáleně načte ze serveru. Data potřebujeme načíst do nějakého CSV souboru a k tomu nám poslouží právě Exchange Management Shell a pomocí příkazu vytvoříme CSV. Důležitý je koncový delimiter v daném přikladu, jelikož výstupní data mohou obsahovat čárky a právě čárka je výchozím delimiterem pro příkaz Export-CSV.

Get-AgentLog -StartDate „1/1/2016“ | Export-Csv -Path C:\Users\<username>\Desktop\Report_Antispam.csv -Encoding Unicode -Delimiter „|“

Toto je nutné dělat každý týden třeba pomocí naplánované úlohy a vytahovat data do adresáře, odkud je mohu pomocí excelového makra načítat.
Nicméně i na úrovni excelu a s jedno týdenním intervalem mám v datovém zdroji celkem 5000 řádků, což znamená, že mou organizací přešlo skrze antispam 5000 zpráv za týden což odpovídá cca 6 osobám ve firmě.

Proto jsem v rámci excelu vytvořil list s názvem „Config“ do kterého jsem v rámci jedné buňky zapsal cestu k danému adresáři s daty

Exchange_antispam_report_excel_list

A do konzole Microsoft Visual Basic for Application zadám toto makro:

Exchange_antispam_report_VBA

Toto makro načte automaticky data ze zadané cesty a uloží do samostatného listu s názvem „Source“, ze kterého vytvořím následně kontingenční tabulku a nebo použiji data pro PowerBI for Desktop.

Ještě pro lepší třídění je nutno doplnit na konec 2 slouce do daného excelového souboru v listu „Source“ vzorec pro výpočet data a času z hodnoty „Timestamp“.
Například pomocí vzorců:

  • =DATUM(ROK(D2);MĚSÍC(D2);DEN(D2))
  • =ČAS(HODINA(D2);MINUTA(D2);0)

 

A máme hotovo. Tak hodně štěstí a kdyby vám něco nefungovalo tak mi napište do komentářů a já se vám pokusím poradit.
PS: Exchange umožňuje načítat spoustu různých dat a ty následně zpracovávat pomocí inteligentních nástrojů

 

 

daniel.hejda

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *