Forum
Merhaba ,
Exchange power shell üzerinde bazı komutları birleştirerek Exchange üzerinde bulunan tüm kullanıcıların mailbox'ı içerisindeki toplamda mail adeti,limit durumu,mailbox boyutu,silinen mail boyutu,kullanıcı hesabı,son çıkış ve giriş yaptığı tarihi,mailbox tipi,bulunduğu database bilgilerini görebilir,istersek excel ve ya html formatında rapor olarak alabilir ve bu raporu kendimize mail olarak gönderebiliriz.
Ben html formatında rapor almak istiyorum bunun için yapmanız gerekenler ;Exchange management shell içerisine bu komutları yazmak
Get-Mailboxdatabase | Get-MailboxStatistics | Sort-Object TotalItemSize -descending |Select-Object DisplayName,ItemCount,StorageLimitStatus,TotalItemSize,TotalDeletedItemSize,LastLoggedOnUserAccount,LastLogoffTime,LastLogonTime,ObjectClass,Database,ServerName | Convertto-Html | out-File c:\report.htm
Send-MailMessage –From [email protected] –To [email protected] –Subject “mailbox bilgileri” –SmtpServer exchangesrv.domain.com.tr -Attachments c:\report.htm
Bu komutu çalıştırdıktan sonra c:\report.htm dizininde oluşturduğumuzu raporu görebiliriz.Ayrıca bu rapor [email protected] adresine mail olarak da gönderilecektir.
Eğer bu bilgileri manuel olarak değil de otomatik olarak ay ve ya haftalık bazında görmek istiyorsak bir batch dosyası oluşturup windows'un kendi programı olan "Task Scheduler" ı kullanarak batch dosyamızın istediğimiz gün ve saatlerde çalışmasını sağlayabiliriz.
Birkaç denememden sonra anladım ki , yukarıda yazmış olduğum komutları direk olarak cmd üzerinde çalıştıramıyorum.Öncellikle bu komutları kendimize göre düzenleyip uzantısı .ps1 "report.ps1" olarak kaydediyoruz.Sonra reports.ps1 dosyasını belli bir dizine taşıyoruz.örn. C:\scripts\report.ps1
Hazırladığımız .ps1 dosyasını cmd üzerinde çalıştırmak istiyorsak bir batch dosyası hazırlamamız gerekiyor.Bunun için yazmamız gereken komut ;
"c:\Program Files\Microsoft\Exchange Server\V14\bin\RemoteExchange.ps1'; Connect-ExchangeServer -auto; C:\Scripts\report.ps1"
bu sayede cmd üzerinden exchange power shell konsoluna ulaşıp hazırlamış olduğumuz komutları çalıştırmasını sağlayabiliyoruz.
"c:\Program Files\Microsoft\Exchange Server\V14\bin\RemoteExchange.ps1'; Connect-ExchangeServer -auto; C:\Scripts\report.ps1" bu komutu report.cmd olarak kaydettiken sonra "Task Scheduler" ile batch dosyamızı istediğimiz zaman aralığında çalıştırabilir hale getirmiş olduk.
DisplayName | ItemCount | StorageLimitStatus | TotalItemSize | TotalDeletedItemSize | LastLoggedOnUserAccount | LastLogoffTime | LastLogonTime | ObjectClass | Database | ServerName |
---|---|---|---|---|---|---|---|---|---|---|
Cozumpark | 49047 | BelowLimit | 1.923 GB (2,064,704,359 bytes) | 12 MB (12,582,640 bytes) | Domain\Cozumpark | 1/19/2012 5:01:44 PM | 1/19/2012 4:56:26 PM | Mailbox | MboxStore_C2 | EAYEXD01 |
Can Bolat | 11312 | BelowLimit | 1.909 GB (2,049,375,814 bytes) | 88.53 MB (92,834,146 bytes) | Domain\Cbolat | 1/19/2012 5:05:54 PM | 1/19/2012 5:05:05 PM | Mailbox | MboxStore_C2 | EAYEXD01 |
Faydalı olması dileğiyle.
Eline sağlık dostum