Exchange 2010 üzerinde Mailbox Size ların Powershell ile alınması ve mail ile gönderilmesi

Exchange 2010 yapısına geçirdiğimiz bir müşterimizden şöyle bir talep geldi.

Yapıda varolan tüm Mailbox veritabanlarındaki varolan mailboxların totalitemsize,kota,varolan sizeları gibi bilgileri belirli periyodlarla edinebilirmiyim?

Burada tabiki powershell komutlarını kullanarak bazı taklalar atmamız mümkün.Hatta artık Exchange 2010 ile ilgili gelen taleplerin neredeyse tamamına aklımda powershell komutları olduğu müddetçe “œmümkündür” cevabını veriyorum.

Burada yapmamız gereken Get-MailboxStatistics cmdlet ini kullanmak.Bu komut ile belirli mailboxlar için belirli değerleri çekebiliyoruz.

image

Burada gördüğünüz gibi bizden hangi mailbox için bu istatistikleri çekmemiz gerektiğini soruyor.Benim amacım varolan tüm veritabanları yada belirli veritabanları içerisindeki tüm mailboxlar.Bu sebeple aşağıdaki gibi komutu genişletebilirim.

image

Aynı zamanda burada get-mailboxdatabase ““identity “œMailboxdb” | get-mailboxstatistics komutu ile spesifik bir veritabanı üzerinden de bilgi çekebilirsiniz.

Ardından bu çıktıları itemsize’ına göre sıralamak için komutu aşağıdaki haline getirelim.

Get-MailboxDatabase "MailboxDB1" | Get-MailboxStatistics | Sort totalitemsize ““desc

Bizden istenen bu verilerin bir excel tablosu halinde çıktısı.Bunun için hemen çok güzel çalışan Export-CSV parametremi kullanıyorum.

Get-MailboxDatabase "MailboxDB1" | Get-MailboxStatistics | Sort totalitemsize ““desc | Export-CSV c:MailboxDB1Sizes.csv

Yukarıdaki komut tüm çıktıları csv dosyasına yazacaktır.

Ve powershell’in son güzelliğinden faydalanarak varolan bu çıktıyı attachment olarak mail ile istediğim kullanıcılara göndermek.Buda oldukça basit.

Get-MailboxDatabase "MailboxDB1" | Get-MailboxStatistics | Sort totalitemsize -desc | Export-CSV c:MailboxDB1Sizes.csv | Send-MailMessage ““To musteri@domain.com ““From powershell@domain.com -Subject "MailboxDB1 icin aylik size degerleri" -SmtpServer exchserver -Attachments c:MailboxDB1Sizes.csv

Oldukça kullanışlı bir komut değilmi?

Bu işlemden sonra yukarıdaki komutu ps1 uzantısı ile kaydedip schedule tasktan aylık çalıştırılacak şekilde ayarladığınız takdirde kullanıcıya bu mailbox server içerisindeki tüm mailboxlar ile ilgili aylık csv dosyası mail ile otomatik gönderilecektir.

5 thoughts on “Exchange 2010 üzerinde Mailbox Size ların Powershell ile alınması ve mail ile gönderilmesi

  1. Hocam Merhaba, Mehmet Ben,
    Mailbox ların içerisinde, mesela; 5mb dan büyük mail olan mailboxları getirebileceğimiz bir komut var mı?
    Anlatabildim mi bilmiyorum ama 🙂
    Teşekkürler…

Leave a Reply

Your email address will not be published. Required fields are marked *

− 1 = 2