Exchange Bloklanmış Epostaların Raporlanması -1

Microsoft Exchange related issues and information
Microsoft Exchange related issues and information

Merhaba Arkadaşlar,

Exchange sunucunuzdan berli bir tarih aralığında tüm bloklanmış veya reddedilmiş (blocked/rejected) epostaların bir listesini almak istiyorsanız bunun en basit yolu yönetim konsolunu (PowerShell) açmak ve aşağıdaki şu komutları girmek :

Örnek 1
Get-Agentlog -StartDate 2012-10-31 -EndDate 2012-11-02 | group action | ft Name, count -Autosize

Örnek 2
Get-Agentlog | where {$_.Recipients -like “jane.doe@domain.com”} | ft Timestamp,P1FromAddress,Recipients,action,Reasondata -autosize

Örnek 3
Get-AgentLog | where {$_.Agent -eq “Sender Filter Agent”} | ft Timestamp,P1FromAddress,Recipients,action,Reasondata -autosize

Diyelim ki ekrana aldığınız bu görüntüyü bir text dosyaya yazdırmak ve bu dosya üzerinde çalışmak istiyorsunuz.

Örnek 4
A) Get-AgentLog -StartDate “4/08/2015” -EndDate “4/11/2015”
B) | where {$_.Reason -eq “BlockListProvider”}
C) | ft Timestamp,P1FromAddress,Recipients,action,Reasondata
D) | Out-File c:\test3.txt

A bölümü Get-AgentLog üzerinde tarih aralığı vererek belirli bir tarih aralığında rapor almak.Bu önemli aksi halde saatlerce sürecek bir raporu beklemek istemezsiniz.Testlerinizi taraih aralığı vererek yapma (mesela 2 gün) raporunuzun düzgün çalıştığını anlamak için verimli bir yol tabi ki doğru tarih aralığı vermek kaydı ile :D

B bölümü belirli tarih aralığında aldığınız datanın içerisinde sadece belirli bir data gerekiyor; bizim burada istediğimiz bloklanan epostalar bu yüzden sebep yani REason kolonunda “BlockListProvider” bilgisini sorgulamışız.

C bölümü raporun hangi kolonlardan oluştuğunu berlirlemek istedimiz için Format-Table komutunu kullanığ raporun kolonlarını seciyoruz ki gereksiz data ile uğraşmayalım.

D bölümünde ise raporun nereye yazılacağını berliyoruz ben burada C sürücünüz seçtim

Peki güzel güzel de bu raporda yine yetmedi ve Excel’de datayı raporlayabilmek istiyorsanız o zaman biraz daha farklı bir komut kullanmalısınız.

Örnek 5
A) Get-AgentLog -StartDate “4/08/2015” -EndDate “4/11/2015”
B) | where {$_.Reason -eq “BlockListProvider”}
C) | Select-Object name,startmode,state,status,startname
D) | export-csv c:\services.csv

A ve B bölümlerini yukarıda açıklamıştım.

C bölümü bir önceki yapıdan farklı olarak oluşturacağımız kolonları tanımlamak yerine kullanacağımız kolonları seçiyoruz ve bu seçili objelere verileri dolduruyoruz . (OOL ‘ye hoş geldiniz :)

D bölümünde seçtimiz objelerin içindeki bilgileri export-csv komutu ile CSV formatında dışarı yazıyoruz.

Bu arada Scripts klasöründe sizler için önceden Microsoft tarafından hazırlanmış diğer AntiSpam Raporlarınada bakmanızı öneririm :
get-AntispamTopBlockedSenderDomains.ps1
get-AntispamTopBlockedSenderIPs.ps1
get-AntispamTopBlockedSenders.ps1
get-AntispamTopRBLProviders.ps1
get-AntispamFilteringReport.ps1
get-AntispamTopRecipients.ps1
get-AntispamSCLHistogram.ps1

Ayrıca aşağıdaki bağlantıları kısayolunuza eklemenizi tavsiye ediyorum

Windows PowerShell Takımı blog sayfası:
http://blogs.msdn.com/PowerShell

Windows PowerShell Script Merkezi sayfası:
http://www.microsoft.com/technet/scriptcenter/hubs/msh.mspx

Melih Melik SÖNMEZ

About the Author

Melih Melik SÖNMEZ
1976'da İstanbul'da doğdum.