Get-ADDomainController Získejte řadiče domény AD pomocí prostředí PowerShell

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..