Get-ADDomainController: PowerShell aracılığıyla Etki Alanı Denetleyicileri Bilgisi Alma


Active Directory'deki etki alanı denetleyicileri hakkında bilgi almak için Get-ADDomainController PowerShell cmdlet'ini kullanabilirsiniz. Bu cmdlet, PowerShell Active Directory modülünün bir parçasıdır ve RSAT kurulumu gerektirir (Windows 10 1809'da ve daha yeni RSAT farklı bir şekilde kurulur).

Get-ADDomainController Cmdlet'i

Get-ADDomainController'ı herhangi bir parametre olmadan çalıştırırken, cmdlet, bu bilgisayar tarafından kimliği doğrulanmak için kullanılan geçerli etki alanı denetleyicisi (LogonServer) hakkındaki bilgileri görüntüler (DC, AD sitesine ve IP alt ağ topolojisine göre seçilir).

Cmdlet, Active Directory veritabanında bulunan etki alanı denetleyicisi hakkındaki bilgileri içeren tüm alanları döndürdü.

ComputerObjectDN : CN=MunDC01,OU=Domain Controllers,DC=corp,DC=a-d,DC=com
DefaultPartition : DC=corp,DC= a-d,DC=com
Domain : corp.a-d.site
Enabled : True
Forest : a-d.site
HostName : MunDC01.corp.a-d.site
InvocationId : 921234a-2a32-4312-9e12-3b32343ab4ad
IPv4Address : 192.168.1.6
IPv6Address :
IsGlobalCatalog : True
IsReadOnly : False
LdapPort : 389
Name : MunDC01
NTDSSettingsObjectDN : CN=NTDS Settings,CN=MunDC01,CN=Servers,CN=DE,CN=Sites,CN=Configuration,DC=a-d,DC=com
OperatingSystem : Windows Server 2012 R2 Standard
OperatingSystemHotfix :
OperatingSystemServicePack :
OperatingSystemVersion : 6.3 (9600)
OperationMasterRoles : {}
Partitions : {DC=ForestDnsZones,DC=a-d,DC=com, DC=DomainDnsZones,DC=corp,DC=a-d,DC=com, CN=Schema,CN=Configuration,DC=a-d,DC=com...}
ServerObjectDN : CN=MunDC01,CN=Servers,CN=DE,CN=Sites,CN=Configuration,DC=a-d,DC=com
ServerObjectGuid : 8123453-e294-1234-a987-1234535432d6
Site : DE
SslPort : 636

Ayrıca, bilgisayarınızın ait olması gereken etki alanı denetleyicisini DCLocator hizmeti aracılığıyla bulabilirsiniz:

Get-ADDomainController -Discover

Etkin AD Web Hizmetleri rolüne sahip en yakın kullanılabilir DC'yi bulabilirsiniz:

Get-ADDomainController -ForceDiscover -Discover -Service ADWS

Alanınızdaki PDC'yi (veya başka bir FSMO rolünü) bulmak için Service parametresini kullanabilirsiniz:

Get-ADDomainController -Discover -Service PrimaryDC

Etki alanı denetleyiciniz bulunamıyorsa veya yanıt vermiyorsa, etki alanı denetleyicisini en yakın AD sitesinde bulabilirsiniz (siteler arası bağlantıların ağırlığına göre belirlenir):

Get-ADDomainController -Discover -ForceDiscover -NextClosestSite

Geçerli etki alanındaki tüm etki alanı denetleyicilerinin listesini görüntülemek için şu komutu çalıştırın:

Get-ADDomainController -Filter * | ft

Bu komutu kullanarak, AD'deki etki alanı denetleyicilerinin sayısını sayabilirsiniz:

Get-ADDomainController -Filter * | Measure-Object

Tüm etki alanı denetleyicilerini, ana bilgisayar adlarını, IP adreslerini, işletim sistemi sürümlerini ve AD site adlarını gösteren daha uygun bir tablo görüntüleyebilirsiniz:

Get-ADDomainController -Filter *| Select Name, ipv4Address, OperatingSystem, site | Sort-Object name

Başka bir etki alanından bir DC hakkında bilgi almak istiyorsanız, -Server parametresini kullanarak başka bir etki alanındaki kullanılabilir DC'nin adını belirtin (etki alanları arasında güven ilişkilerinin etkinleştirilmesi durumunda mümkündür). .

Get-ADDomainController -Filter * -server dc01.test.com | Select Name, ipv4Address, IsGlobalCatalog, Site

Belirli Kriterlere Göre Etki Alanı Denetleyicilerini Bulmak İçin Get-ADDomainController Kullanma

Belirli kriterlere göre AD'deki etki alanı denetleyicilerinin listesini almak için kullanabileceğiniz bazı yararlı komutları ele alalım.

Bir etki alanı denetleyicisini IP adresine göre bulmak için:

Get-ADDomainController -Identity "192.168.100.6"

Adlarında DC02 olan tüm DC'leri bulmak için:

Get-ADDomainController -Filter {name -like "*dc02*"} | Select Name, ipv4Address, OperatingSystem, site

Belirli bir sitedeki tüm kullanılabilir DC'leri bulmak için:

Get-ADDomainController -Discover -ForceDiscover -Site "Site-Name"

Adı Mun*: ile başlayan sitelerdeki DC'lerin listesini görüntülemek için:

Get-ADDomainController -Filter {site -like "Mun*"} | Select Name, ipv4Address, OperatingSystem, site

Tüm Salt Okunur etki alanı denetleyicilerinin (RODC'ler) listesini görüntülemek için:

Get-ADDomainController -Filter {IsReadOnly -eq $true} | Select Name, ipv4Address, OperatingSystem, site

Küresel Katalog rolü etkinken "Roma " sitesinde DC'leri bulmak için:

Get-ADDomainController -Filter {site -eq "Rome" -and IsGlobalCatalog -eq $true} | Select Name, ipv4Address, OperatingSystem, site

Tüm Etki Alanı Denetleyicilerinin Kullanılabilirliğini Kontrol Etmek İçin PowerShell Komut Dosyası

Bir sonraki PowerShell betiği, etki alanı denetleyicilerinizi tek tek kontrol etmenize ve her biri için belirli eylemi gerçekleştirmenize olanak tanır:

$DCs = Get-ADDomainController -Filter *
ForEach($DC in $DCs)
{
do something
}

Burada, Test-NetConnection cmdlet'ini kullanarak etki alanınızdaki her DC'de LDAPS bağlantı noktasının (TCP 636) kullanılabilirliğini kontrol eden basit bir PowerShell komut dosyası örneği verilmiştir. LDAPS bağlantı noktası mevcut değilse bir uyarı görüntülenir.

$DCs = Get-ADDomainController -Filter * | Select-Object Hostname,Ipv4address,isGlobalCatalog,Site,Forest,OperatingSystem
ForEach($DC in $DCs)
{
$PortResult=Test-NetConnection -ComputerName $DC.Hostname -Port 636 -InformationLevel Quiet
if ($PortResult -ne "$True"){
write-host $DC.Hostname " not available" -BackgroundColor Red -ForegroundColor White
}else {
write-host $DC.Hostname " available" -BackgroundColor Green -ForegroundColor White}
}

Etki alanınızdaki tüm DC'lerin kullanılabilirliğini izlemek için basit bir komut dosyamız var.

Etki alanındaki tüm DC'leri tek tek kontrol etmek için farklı senaryolar da vardır. Önceki makalelerde, tüm etki alanı denetleyicilerindeki günlüklerde belirli bir olayı bulmak için Get-ADDomainController cmdlet'inin nasıl kullanılacağını gösterdik. Örneğin, bir kullanıcı hesabı kilitleme olaylarını, NTLMv1 kimlik doğrulama olaylarını, bir kullanıcıyı bir AD güvenlik grubuna ekleme olaylarını vb. bulmak için.

İlgili makaleler