Bu yazımda sizler ile PowerShell komut dosyası ile Exchange Server Sunucularınız üzerinde çalışan servislerin durumlarını raporlama işlemlerini paylaşacağım. Script sayesinde Exchange Server üzerinde koşan veritabanı durumlarını, grupları, Client Access Server Role Services, Hub Transport Server Role Services, Mailbox Server Role Services, Unified Messaging Server Role Services, DAG yapınıza kadar servislerin durumlarını e-posta olarak html rapor formatında gönderebiliriz. Bu Script ile Exchange Server ortamında bir sağlık kontrolü yapmış oluyoruz.
Script adımız: Test-ExchangeServerHealth.ps1
Script içeriğini bir .txt kopyalayıp, yukarıda belirttiğim ps1 formatı ile kayıt etmeniz gerekmektedir.
Script’i Yapmamız gereken adımlar:
Script içerisinde aşağıda ki kısımları kendi yapımıza göre düzenliyoruz.
# Modify these Email Settings
#……………………………..
$smtpsettings = @{
To = “ufuk@Get-ExchangeServer.com”
From = “ufuk@Get-ExchangeServer.com”
Subject = “Exchange Server Health Report – Get-ExchangeServer.com – $now”
SmtpServer = “Ex2013.ufuktatlidil.com”
}
————————————————————————————————————–
Daha sonra, c:\ dizini altında Scripts > ExchangeServerHealth klasörlerini açıp, ignorelist.txt dosyasını oluşturuyoruz. Ardıncan Test-ExchangeServerHealth.ps1 dosyamını içine kopyalıyoruz.
Sonra Exchange Server PowerShell’i açıp ilgili dizine düşüyoruz ve aşağıda belirttiğim komutu çalıştırıyoruz.
.\Test-ExchangeServerHealth.ps1 -reportmode –sendemail
Script başarılı bir şekilde çalıştı ve SMTP ayarlarını yaptığım mailbox’a mail olarak HTML formatında raporumuz gönderildi.
Benim lab ortamımda herhangi bir DAG vb. role yüklü olmadığından dolayı rapora yansıma olmadı. Ancak, live ortamda rahatlıkla bu script’i kullanabiliriz.
Dilerseniz Script’ i geliştirebilirsiniz.
Bu sicript içeriğine aşağıdaki adresten ulaşabilirsiniz.
Umarım faydalı bir makale olmuştur. Bir sonraki makalemizde görüşmek üzere.