Etki Alanı Denetleyicisi Sağlığı Nasıl Kontrol Edilir


Etki alanı denetleyicileri ağınızın hayati bir parçasıdır. Ağınızı düzenlemenize ve kullanıcılarınızı, bilgisayarlarınızı ve diğer kaynaklarınızı yönetmenize olanak tanırlar. Bu nedenle etki alanı denetleyicilerinizin durumunu düzenli olarak kontrol etmeniz önemlidir. Peki bunu nasıl yapıyorsunuz ve hangi sinyalleri aramanız gerekiyor?

Özellikle birden fazla etki alanı denetleyiciniz çalışıyorsa, etki alanı denetleyicileri arasındaki çoğaltmayı takip etmek önemlidir.

Bu yazımda domain denetleyicilerinin sağlık durumunu nasıl kontrol edeceğinizi anlatacağım ve tüm etki alanı denetleyicilerinizin sağlık durumunu otomatik olarak kontrol edecek bir script yazdım.

Etki Alanı Denetleyicisi Sağlığını Kontrol Edin

Etki Alanı Denetleyicileri ağınızın omurgasıdır. Etki alanı denetleyicisiyle ilgili herhangi bir sorun, kullanıcıların artık oturum açamamasına neden olabilir ve bu, güne başlamak için iyi bir yol değildir. Olası sorunları tespit etmek için etki alanı denetleyicilerimizin durumunu düzenli olarak kontrol etmemiz gerekecek.

Windows sunucularınız, etki alanı denetleyicilerinizin ve Active Directory'nizin durumunu kontrol etmenize olanak tanıyan birkaç yerleşik araçla birlikte gelir. Bunlardan en önemlisi varsayılan test ile sunucularınızı 21 noktada kontrol edecek olan DCDiag aracıdır.

Etki alanı denetleyicileriniz arasındaki çoğaltmayı kontrol etmek için RepAdmin aracını kullanabilirsiniz. Bu araç, çoğaltmanın hatasız çalışıp çalışmadığını hızlı bir şekilde kontrol etmenize olanak tanır. (Çoğaltmayı DCDiag ile de test edebilirsiniz, ancak RepAdmin size daha fazla bilgi verir)

Bu iki aracı düzenli olarak çalıştırırsanız olası sorunları hızla tespit edebilirsiniz.

Ancak etki alanı denetleyicinizin sağlığını kontrol etmek için bu araçları her hafta manuel olarak çalıştırmak gerçekten işe yaramayacaktır. Çıktı ayrıca size herhangi bir olası sorunu bir bakışta göstermez.

Bu yüzden tüm etki alanı denetleyicilerinizin ve Active Directory'nizin sağlığını kontrol edecek bir PowerShell betiği oluşturdum. DCDiag dahil tüm önemli testleri çalıştıracak ve sonuçları konsolda güzel bir şekilde biçimlendirecek veya bunu bir HTML dosyasına aktarıp e-postayla gönderebilirsiniz.

Komut dosyası aşağıdaki önemli parçaları kontrol eder:

  • DNS - DNS Kayıtları ve DNS Sunucusu adresleri doğru yapılandırılmış mı?

  • Gecikme - Her etki alanı denetleyicisinin gecikmesini kontrol edin

  • Çalışma Süresi - Etki alanı denetleyicisinin güncellemesini okuyun

  • Alan Roller - Her FSMO sahibinin ulaşılabilir olduğunu doğrulayın

  • Boş alan - Sistem sürücüsündeki boş alanı kontrol edin

  • AD Veritabanı boyutu - AD veritabanı boyutunun okunması

  • Hizmetler - Tüm önemli hizmetlerin (13) çalışır durumda olup olmadığını kontrol edin

  • DCDiag - Varsayılan DCDiag testlerini çalıştırır

  • Çoğaltma - Son çoğaltma girişimini, başarıyı ve deltayı kontrol eder

  • NTP Zaman farkı - NTP farkının çok büyük olup olmadığını kontrol eder

DNS kontrol ediliyor

Betikte yaptığımız ilk testlerden biri DNS ayarlarını kontrol etmektir. Her etki alanı denetleyicisinin DNS kayıtlarının DNS'ye kayıtlı olduğundan emin olmak istiyoruz.

Ayrıca ağ bağdaştırıcısındaki DNS Sunucularının doğru yapılandırıldığından da emin olmak istiyoruz.

Gecikme

Ping testi yalnızca sunucunun erişilebilir olup olmadığını kontrol etmekle kalmayacak, aynı zamanda gecikmenin çok yüksek olması durumunda bir uyarı da gösterecektir. Yerel ağdaki gecikme 10 ms'nin altında olmalıdır, ancak farklı sitelerde birden fazla etki alanı denetleyiciniz varsa gecikme 100 ms'nin altında olduğu sürece sorun olmaz.

Çalışma süresi

Çalışma süresi daha bilgilendiricidir ancak sunucu 12 saatten az çalıştığında bir uyarı gösterecektir.

Etki Alanı Rolleri

Active Directory'nizdeki bilgilerin tüm etki alanı denetleyicileri arasında senkronize olmasını sağlamak için 5 FSMO rolü vardır. Her rol için yalnızca bir usta vardır. Çoğu durumda tüm roller tek bir etki alanı denetleyicisi tarafından gerçekleştirilir. Ancak bazı durumlarda rolleri birden çok etki alanı denetleyicisine bölmüş olabilirsiniz.

Bu rollerin her biri için sunucunun mevcut olması önemlidir. Komut dosyasında, etki alanı denetleyicilerinin bir veya daha fazla role sahip olup olmadığını kontrol ediyoruz ve diğer roller için sunucuya ulaşıp ulaşamadığımızı kontrol ediyoruz. Biri çevrimdışı olduğunda, dışa aktarmada bir uyarı gösterilecektir.

Hizmetler

Etki alanı denetleyicisinin çalışması için birkaç hizmet gerekir. Artık bunlar varsayılan olarak DCDiag testiyle de kontrol ediliyor. Ancak raporlama için hizmetleri ayrı ayrı kontrol etmek daha kolaydır, böylece çalışmayan hizmetleri kolayca gösterebiliriz.

Aşağıdaki hizmetler kontrol edilir:

  • Active Directory Etki Alanı Hizmetleri

  • AD Web Hizmetleri

  • DFS Çoğaltma

  • DHCP istemcisi

  • DNS İstemcisi

  • Dns sunucusu

  • Sitelerarası Mesajlaşma

  • Kerberos Anahtar Dağıtım Merkezi

  • Netlogon

  • Uzaktan Arama Prosedürü

  • Sunucu (Lanmansunucusu)

  • Güvenlik Hesapları Yöneticisi

  • İş istasyonu (Lanman iş istasyonu)

  • Windows olay günlüğü

  • Windows Saati, İş İstasyonu

DCDiag

Betik, hizmet testleri dışında varsayılan DCDiag testlerini çalıştıracaktır. Kontrollerden biri başarısız olursa, hangi testlerin başarısız olduğu belirtilecektir.

Çoğaltma

Etki alanı denetleyicisinin iyi durumda olması için denetleyicileriniz arasındaki çoğaltmanın sorunsuz çalışması önemlidir. Bunu izlemek için üç metriğe bakacağız:

  • Son çoğaltma denemesi

  • Son başarılı çoğaltma

  • Çoğaltma deltası

Rapor ayrıca sunucunun çoğaltma ortağını da gösterecektir.

Zaman Farkı

Kontrol edeceğimiz son şey sunucular arasındaki zaman farkıdır. Bu artı veya eksi bir saniye içinde olmalıdır. Uzaklık daha büyükse, diğer etki alanı denetleyicilerinizde çoğaltma sorunları veya ağınızdaki kimlik doğrulama sorunlarıyla karşılaşabilirsiniz.

Etki Alanı Denetleyicisi Sağlık Komut Dosyası

Etki alanı denetleyicilerinizin durumunu kontrol etmeye yönelik PowerShell betiği, Active Directory'nizin ve sunucularınızın durumunu kolayca ve düzenli olarak kontrol etmenize olanak tanır. Komut dosyasını her hafta çalışacak şekilde planlayabilir ve sonuçları bir HTML dosyasına kaydedebilirsiniz. Veya betiği manuel olarak çalıştırabilir ve sonuçları doğrudan konsolda görüntüleyebilirsiniz.

Komut dosyasının en son sürümünü GitHub Depomdan buradan indirebilirsiniz.

Komut dosyasının başında ayarlayabileceğiniz birkaç ayar bulacaksınız. Bunlar dosya adını, konumunu ve istenilen çıktı formatını içerir.

# Set variables
$reportDate = Get-Date -Format "dd-MM-yyyy"
$reportFileName = "LazyDCHealthCheck-$reportDate.html"
$reportPath = "c:\"
$outputToConsole = $true
$outputToHtml = $false

Komut dosyasını bir etki alanı denetleyicisinde çalıştırmanız gerekecektir. PSSession kullanmak işe yaramaz çünkü bu, komut dosyaları diğer etki alanı denetleyicilerine bağlanmaya çalıştığında hatalara neden olur.

Komut dosyasını, çıktıyı konsola açık olarak çalıştırdığınızda, aşağıdakine benzer bir sonuç elde edersiniz (umarım daha az hatayla ?). Komut dosyasının sonundaki hata sayısı tüm DCDiag hatalarını bir olarak sayar; bu nedenle aşağıdaki örnekte özette yalnızca iki hata görürsünüz.

Etki alanı denetleyicisi sağlık sonuçlarını da HTML'ye aktarabiliriz. Ağınızdaki etki alanı denetleyicilerinin sayısına bağlı olarak bunu iki biçimde yapabilirsiniz. Yalnızca bir veya iki etki alanı denetleyiciniz varsa, her etki alanı denetleyicisi dikey olarak listelenir ve bu da sonuçların örneğin bir e-postada görüntülenmesini kolaylaştırır.

Ancak daha fazla etki alanı denetleyiciniz varsa, bunlar yatay olarak listelendiğinde Active Directory sağlık denetiminin sonuçlarını okumak daha kolaydır.

Komut dosyasındaki 551. satır civarında, aşağıdaki if ifadesini bulacaksınız. Bu ifade, yatay mı yoksa dikey tablo mu alacağınızı belirler. Yatay veya dikey tabloyu tercih ederseniz bu sayıyı değiştirebilirsiniz.

if ($allDomainControllers.length -gt 2) {

Kapanış

Olası sorunları erken tespit etmek için etki alanı denetleyicinizin sağlığını düzenli olarak kontrol etmeniz önemlidir. Bu komut dosyası, sunucunuzun ve Active Directory'nin en önemli kısımlarını kontrol eder ve sonucu PowerShell konsolunda veya bir HTML raporunda kolayca görüntülemenizi sağlar.

PowerShell görevlerini zamanlama hakkında daha fazla bilgi edinmek için bu makaleye göz atmayı unutmayın.

Komut dosyalarıyla ilgili herhangi bir öneriniz varsa veya herhangi bir hata bulursanız, lütfen aşağıdaki yorumlardan veya GitHub'dan bana bildirin.

İlgili makaleler