Merhabalar, bu yazımda AD Health Check işlemini anlatacağım. Bu işlemi Task Scheduler ile planlamasını yaparak günlük olarak Active Directory takibimizi yapabiliriz. Scriptte Ping Testi, Netlogon Testi, NTDS Testi, DNS Testi, Replication, Sysvol, Services gibi testleri bulunmaktadır.
Bu yazımda ana kaynak olarak Microsoft MVP’lerinden Sukhija Vikas’ın yazmış olduğu Powershell Scriptini kullanacağız. Scripti hazır olarak kullanmak yerine ben Scripte kendi katma değerimi katmak istedim. Scriptin güncellenmiş haline buradan ulaşabilirsiniz.
Not: Gmail hesabı üzerinden gönderim sağlayacaksanız “Less Secure Apps” özelliğini aktif etmeniz gerekmektedir. İlgili dokumana bu link üzerinden ulaşabilirsiniz.
Bu scripti indirdikten sonrasında editleyerek kendimize uygun hale getirmemiz gerekmektedir.
İndirdiğimiz scripti sağ tıklayıp “Edit” seçeneğine tıklıyoruz. Böylece PowerShell ISE açılacaktır. Ben göndermesi için yazdığım kısmı en aşağıya ekledim.
Resim-1
Burada değişkenleri kendimize göre ayarlamalıyız.
$From = Gönderici “abc@abc.com”
$To = Alıcı “abc@abc.com”
$Cc = CC’deki Alıcı “cba@abc.com”
$Subject = Konu ”Health Check”
$SMTPServer = SMTP sunucumuz “smtp@abc.com”
$SMTPPort = Port “587”
$pass Gönderici mail şifreniz
Burada değişkenlerimizi tanımladıktan sonra bunu istediğimiz zamanlarda çalışması için Task Scheduler ile görevi zamanlamamız gerekmektedir.
Başlat menüzünden Task Scheduler’I açıyoruz.
Resim-2
“Create Basic Task” seçeneğini seçiyoruz.
Resim-3
Burada “Name” ve “Description” kısımlarını doldurup Next ile devam ediyoruz.
Resim-4
Bu aşamada işlemin sıklığını seçiyoruz. Ben günlük olarak ayarlıyorum.
Resim-5
Her sabah 09.00’da mesai saatim öncesinde işlemi yapmasını istiyorum.
Resim-6
Bizim istediğimiz işlemde script içerisinde mailing de bulunuyor. Bu yüzden programı başlatması yeterli olacaktır.
Resim-7
Burada “Program/Script” dediği kısma scriptimizi çalıştıracak uygulamayı yani PowerShell’i tanıtmamız gerekiyor. Powershell dizini aşağıdaki gibidir.
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
Arguments kısmına yazdığımız scriptin adı ve formatını yazıyorum.
Start in kısmına scriptimizin bulunduğu dosya dizinini yazıyorum. Scipti seçmiyorum sadece bulunduğu dosyayı seçiyorum.
Resim-8
Task Scheduler üzerinde görev zamanlama işlemimiz tamamlanmıştır. Finish butonuyla işlemi bitiriyorum. İşlemi bitirdikten sonra manuel olarak işlemi başlatıp deneyebilirsiniz.
Resim-9
Gelen rapor örneği bu şekildedir.
Siz de bu adımları takip ederek AD Health Check işlemini uygulayabilirsiniz. Umarım faydalı yazı olmuştur.
Bu konuyla ilgili sorularınızı www.mshowto.org/forum/ alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.
Referanslar
https://github.com/zeynelugrl/AD-Health-Check
TAGs: ADHealthCheck, HealthCheck, ActiveDirectory, DomainControllerCheck
Merhabalar fsmo check kısmında hata alıyorum ancak dcdiag /test:fsmocheck komutunu sunucu ustunde calıstrıdıgımda hata almıyorum nedenı nedır acaba ?
Hocam merhabalar, mail üzerinden dönüş sağladım.
Hocam merhaba. ay scripti ben editledim. task schedule yapmadan oncen non-DC vm.den run tapdim amma Dcdiag.la ilgili hatalar aliyorum. Böyle bir hata kısımları var.
The term ‘dcdiag’ is not recognized as the name of a cmdlet, function, script file, or operable program. Check the
spelling of the name, or if a path was included, verify that the path is correct and try again.
+ CategoryInfo : ObjectNotFound: (dcdiag:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
+ PSComputerName : localhost
——bu yuzden diger kisimlar non-Dc vm.den asagidaki gibi failed yapiyor.
PingSTatus NetlogonService NTDSService DNSServiceStatus NetlogonsTest ReplicationTest ServicesTest AdvertisingTest FSMOCheckTest
Success Running Running Running NetlogonsFail ReplicationsFail ServicesFail AdvertisingFail FSMOCheckFail
Success Running Running Running NetlogonsFail ReplicationsFail ServicesFail AdvertisingFail FSMOCheckFail
Success Running Running Running NetlogonsFail ReplicationsFail ServicesFail AdvertisingFail FSMOCheckFail
Hocam merhabalar, mail üzerinden dönüş sağladım.