PowerShell ile Tüm Etki Alanı Denetleyicilerini Listeleme
Active Directory altyapısına sahip kurumsal yapılarda Etki Alanı Denetleyicileri (Domain Controller – DC) sistemin bel kemiğini oluşturur. Kullanıcı doğrulama, grup ilkeleri (GPO), DNS ve replikasyon gibi kritik işlemler doğrudan Domain Controller’lar üzerinden yürütülür. Bu nedenle ortamda bulunan tüm DC’lerin düzenli olarak kontrol edilmesi ve listelenmesi büyük önem taşır.
Bu yazıda, PowerShell kullanarak tüm etki alanı denetleyicilerini listeleme işlemini adım adım ve detaylı şekilde ele alacağız.
Etki Alanı Denetleyicisi (Domain Controller) Nedir?
Etki Alanı Denetleyicisi, Active Directory Domain Services (AD DS) rolünü üzerinde barındıran ve ağdaki kullanıcıların kimlik doğrulamasını sağlayan sunucudur. Birden fazla DC bulunan yapılarda:
-
Yük dengeleme sağlanır
-
Yedeklilik (redundancy) oluşur
-
Replikasyon ile veri tutarlılığı korunur
Bu yüzden tüm DC’lerin bilinmesi ve izlenmesi kritik öneme sahiptir.
Neden PowerShell ile Listeleme Yapılmalı?
Grafik arayüzler (Active Directory Users and Computers gibi) çoğu zaman yeterli olsa da PowerShell;
-
Daha hızlıdır
-
Otomasyona uygundur
-
Sunucuya uzaktan bağlanarak işlem yapma imkanı sunar
-
Script haline getirilerek raporlama yapılabilir
Bu avantajlar nedeniyle sistem yöneticileri genellikle PowerShell’i tercih eder.
PowerShell ile Tüm Domain Controller’ları Listeleme
Ön Gereksinimler
-
Active Directory PowerShell modülü kurulu olmalıdır
-
Domain ortamına üye bir makinede çalıştırılmalıdır
-
Yetkili bir kullanıcı hesabı gereklidir
1. Active Directory Modülünü Yükleme
Eğer modül yüklü değilse:
Import-Module ActiveDirectory
2. Tüm Etki Alanı Denetleyicilerini Listeleme
Get-ADDomainController -Filter *
Bu komut, mevcut domain içerisindeki tüm DC’leri listeler.
3. Detaylı Bilgi ile Listeleme
Get-ADDomainController -Filter * |
Select-Object HostName, IPv4Address, Site, OperatingSystem
Bu çıktı sayesinde:
-
Sunucu adı
-
IP adresi
-
AD Site bilgisi
-
İşletim sistemi
net şekilde görülebilir.
4. Yalnızca Global Catalog Sunucularını Listeleme
Get-ADDomainController -Filter {IsGlobalCatalog -eq $true}
Bu komut, Global Catalog (GC) rolüne sahip DC’leri gösterir.
5. Belirli Bir Site İçindeki Domain Controller’ları Listeleme
Get-ADDomainController -Filter * -Site "Default-First-Site-Name"
Özellikle çok lokasyonlu yapılarda oldukça faydalıdır.
6. Forest Genelindeki Tüm Domain Controller’ları Listeleme
Get-ADForest |
Select-Object -ExpandProperty Domains |
ForEach-Object { Get-ADDomainController -Server $_ -Filter * }
Bu yöntemle forest içindeki tüm domain’lere ait DC’ler listelenir.
Karşılaşılan Yaygın Hatalar
-
Active Directory modülü yüklü olmaması
-
Yetkisiz kullanıcı ile çalışılması
-
DNS veya replikasyon problemleri
-
PowerShell sürüm uyumsuzluğu
Bu hatalar genellikle rol ve yetki kontrolleri yapılarak çözülebilir.
Sonuç
PowerShell ile tüm etki alanı denetleyicilerini listelemek, Active Directory yönetiminin temel taşlarından biridir. Günlük kontroller, sistem denetimleri ve olası sorunların önüne geçmek için bu komutların bilinmesi büyük avantaj sağlar.
Özellikle birden fazla DC bulunan yapılarda, PowerShell ile yapılan bu kontroller sistem yöneticilerine ciddi zaman kazandırır ve altyapının daha sağlıklı çalışmasını sağlar.
