Cmdlet Get-ADDomainController lze použít k získání informací o řadičích domény ve službě Active Directory. Tato rutina je součástí modulu Active Directory pro PowerShell a vyžaduje instalaci samostatné komponenty RSAT (v systému Windows 10 1809 a vyšších je RSAT nainstalován novým způsobem).
Obsah:
- Get-ADDomainController Cmdlet
- Get-ADDomainController používáme k výběru řadičů domény podle podmínek
- Skript PowerShell pro kontrolu dostupnosti všech řadičů domény
Get-ADDomainController Cmdlet
Při spuštění Get-ADDomainController
bez parametrů cmdlet zobrazuje informace o aktuálním řadiči domény (LogonServer), který tento počítač používá k ověření (DC je vybrána při spuštění v souladu s topologií AD serverů).
Rutina vrátila všechna pole s informacemi o řadiči domény, které jsou k dispozici ve službě AD.
ComputerObjectDN: CN = mskDC01, OU = řadiče domény, DC = corp, DC = winitpro, DC = ru DefaultPartition: DC = corp, DC = winitpro, DC = ru Doména: corp.winitpro.ru Povoleno: True Forest: winitpro.ru Název_hostitele: mskDC01.corp.winitpro.ru InvocationId: 96234a-7fc6-4a32-9e62-3b32343ab4ad IPv4Address: 10.1.10.6 IPv6Address: IsGlobalCatalog: True IsReadOnly: False LdapPort: 389 Název: mskDC01 Nastavení CNDSet, Nastavení NTDSet mskDC01 CN = Servery, CN = MskCenter, CN = Weby, CN = Konfigurace, DC = winitpro, DC = cs OperatingSystem: Windows Server 2008 R2 Standard OperatingSystemHotfix: OperatingSystemServicePack: Service Pack 1 OperatingSystemVersion: 6.1 (7601) OperationMasterRoles: Partitions: DC = ForestDnsZones, DC = winitpro, DC = ru, DC = DomainDnsZones, DC = corp, DC = winitpro, DC = ru, CN = Schéma, CN = Konfigurace, DC = winitpro, DC = ru ... ServerObjectDN: CN = mskDC01 , CN = servery, CN = MskCenter, CN = weby, CN = konfigurace, DC = winitpro, DC = ru ServerObjectGuid: 8052323-e294-4430-a326-9553234431d6 Web: MskCenter SslPo rt: 636
Pomocí mechanismu DCLocator můžete také najít řadič domény, ke kterému by měl váš počítač patřit:
Get-ADDomainController -Discover
Můžete najít nejbližší dostupný řadič domény s aktivní rolí AD Web Services:
Get-ADDomainController -ForceDiscover -Discover -Service ADWS
Parametr Service lze použít k nalezení PDC v doméně:
Get-ADDomainController -Discover -Service PrimaryDC
Pokud váš řadič domény nebyl nalezen nebo neodpovídá, můžete najít řadič domény na nejbližším serveru AD (určeno podle hmotnosti komunikace mezi weby):
Get-ADDomainController -Discover -ForceDiscover -NextClosestSite
Seznam všech řadičů domény v aktuální doméně:
Get-ADDomainController -Filter * | ft
Počet řadičů domény v AD můžete vypočítat pomocí příkazu:
Get-ADDomainController -Filter * | Measure-Object
Zobrazí se pohodlnější tabulka, ve které jsou uvedeny všechny řadiče domény s jejich názvem, adresou IP, verzí operačního systému a názvem serveru AD:
Get-ADDomainController -Filter * | Vyberte název, ipv4Address, OperatingSystem, site | Název třídicího objektu
Pokud potřebujete získat informace o DC z jiné domény, musíte pomocí parametru zadat název všech dostupných domén DC v doméně třetí strany. -Server (možné s důvěrou mezi doménami).
Get-ADDomainController -Filter * -server dc01.contoso.cpm | Vyberte název, ipv4Address, IsGlobalCatalog, Site
Get-ADDomainController používáme k výběru řadičů domény podle podmínek
Pojďme se podívat na několik užitečných rutin, které můžete použít k získání seznamu řadičů domén v AD podle určitých kritérií.
Vyhledejte řadič domény podle jeho adresy IP:
Get-ADDomainController - Identita "10.1.1.120"
Najděte všechny DCs s DC04 znaky v jejich jménech:
Get-ADDomainController -Filter like-like "* dc04 *" | Vyberte Název, ipv4Adresa, OperatingSystem, web
Prohledejte všechny dostupné DC na konkrétním webu:
Get-ADDomainController -Discover -ForceDiscover -Site "Site-Name"
Seznam DC na stránkách, jejichž jména začínají Mos *:
Get-ADDomainController -Filter site-like "Mos *" | Vyberte Název, ipv4Adresa, OperatingSystem, web
Seznam všech řadičů domény jen pro čtení:
Get-ADDomainController -Filter IsReadOnly -eq $ true | Vyberte Název, ipv4Adresa, OperatingSystem, web
Vyhledejte DC na webu „Název webu“, který zahrnuje roli globálního katalogu:
Get-ADDomainController -Filter site -eq "Site Name" - a IsGlobalCatalog -eq $ true | Vyberte Název, ipv4Adresa, OperatingSystem, web
Skript PowerShell pro kontrolu dostupnosti všech řadičů domény
Následující návrh umožňuje iterovat všechny řadiče domény ve službě Active Directory a provést pro každou z nich konkrétní akci:
$ AllDCs = Get-ADDomainController -Filter *
ForEach ($ DC v $ AllDCs)
něco udělat
Následuje příklad jednoduchého skriptu PowerShell, který kontroluje dostupnost portu LDAPS (TCP 636) na každém DC v doméně pomocí rutiny Test-NetConnection. Pokud port LDAPS na DC není k dispozici, zobrazí se varování.
$ AllDCs = Get-ADDomainController -Filter * | Název hostitele Select-Object, Ipv4address, isGlobalCatalog, Site, Forest, OperatingSystem
ForEach ($ DC v $ AllDCs)
$ PortResult = Test-NetConnection -ComputerName $ DC.Hostname -Port 636 -InformationLevel Quiet
if ($ PortResult --ne "$ True")
write-host $ DC.Hostname "not available" -BackgroundColor Red -ForegroundColor White
jinde
write-host $ DC.Hostname "available"
Výsledkem byl jednoduchý skript pro monitorování dostupnosti DC. Stále existují různé scénáře výčtu všech DC v doméně. V předchozích článcích jsme již ukázali, jak pomocí Get-ADDomainController hledat konkrétní událost v protokolech na všech řadičích domény. Například: hledat události uzamčení uživatelského účtu, hledat události autentizace NTLMv1, hledat události, když je uživatel přidán do skupiny AD atd..