Get-ADDomainController Pridobite krmilnike domen AD z uporabo PowerShell-a

Cmdlet Get-ADDomainController se lahko uporablja za pridobivanje informacij o krmilnikih domen v Active Directory. Ta cmdlet je del modula Active Directory za PowerShell in zahteva namestitev ločene komponente RSAT (v Windows 10 1809 in novejših različicah je RSAT nameščen na nov način).

Vsebina:

  • Get-ADDomainController Cmdlet
  • Uporabljamo Get-ADDomainController za izbiro krmilnikov domen glede na pogoje
  • Skript PowerShell za preverjanje razpoložljivosti vseh krmilnikov domen

Get-ADDomainController Cmdlet

Ob zagonu Get-ADDomainController brez parametrov cmdlet prikaže podatke o trenutnem krmilniku domene (LogonServer), ki ga ta računalnik uporablja za preverjanje pristnosti (DC je izbran ob zagonu v skladu s topologijo AD mest).

Cmdlet je vrnil vsa polja s podatki o krmilniku domene, ki so na voljo v AD.

ComputerObjectDN: CN = mskDC01, OU = krmilniki domen, DC = corp, DC = winitpro, DC = ru DefaultPartition: DC = corp, DC = winitpro, DC = ru Domena: corp.winitpro.ru Omogočeno: True Forest: winitpro.ru Ime gostitelja: mskDC01.corp.winitpro.ru InvocationId: 96234a-7fc6-4a32-9e62-3b32343ab4ad IPv4Address: 10.1.10.6. CN = strežniki, CN = MskCenter, CN = spletna mesta, CN = konfiguracija, DC = winitpro, DC = sl OperatingSystem: Windows Server 2008 R2 Standard OperatingSystemHotfix: OperatingSystemServicePack: Service Pack 1 OperatingSystemVersion: 6.1 (7601) OperationMasterRoles:  Particije:  DC = ForestDnsZones, DC = winitpro, DC = ru, DC = DomainDnsZones, DC = corp, DC = winitpro, DC = ru, CN = shema, CN = konfiguracija, DC = winitpro, DC = ru ... ServerObjectDN: CN = mskDC01 , CN = strežniki, CN = MskCenter, CN = spletna mesta, CN = konfiguracija, DC = winitpro, DC = ru ServerObjectGuid: 8052323-e294-4430-a326-9553234431d6 Spletno mesto: MskCenter SslPo rt: 636

Preko mehanizma DCLocator lahko najdete tudi krmilnik domene, v katerega naj bi računalnik pripadal:

Get-ADDomainController -Odkrijte

Najbližji dostopni DC z aktivno vlogo AD Web Services:

Get-ADDomainController -ForceDiscover -Discover -Service ADWS

Parameter storitve lahko uporabite za iskanje PDC v domeni:

Get-ADDomainController -Odkrij -Service PrimaryDC

Če krmilnika domene ni mogoče najti ali se ne odzove, lahko krmilnik domene najdete na najbližjem AD mestu (določeno s težo medsebojnih komunikacij):

Get-ADDomainController -Discover -ForceDiscover -NextClosestSite

Če želite seznam vseh krmilnikov domen v trenutni domeni:

Get-ADDomainController -Filter * | ft

Število krmilnikov domen v AD lahko izračunate s pomočjo ukaza:

Get-ADDomainController -Filter * | Ukrep-predmet

Prikazali bomo bolj priročno tabelo, v kateri so vsi regulatorji domen navedeni z imenom, naslovom IP, različico OS in imenom spletnega mesta AD:

Get-ADDomainController -Filter * | Izberite Ime, ipv4Address, OperatingSystem, spletno mesto | Ime-Razvrsti predmet

Če želite informacije o DC pridobiti iz druge domene, morate s parametrom določiti ime katerega koli razpoložljivega DC v tretji domeni -Strežnik (možno s zaupanjem med domenami).

Get-ADDomainController -Filter * -server dc01.contoso.cpm | Izberite Ime, ipv4Address, IsGlobalCatalog, spletno mesto

Uporabljamo Get-ADDomainController za izbiro krmilnikov domen glede na pogoje

Oglejmo si nekaj uporabnih cmdlet, s katerimi lahko po določenih kriterijih dobite seznam krmilnikov domen v AD-ju.

Poiščite krmilnik domene po njegovem naslovu IP:

Get-ADDomainController -Identiteta "10.1.1.120"

Poiščite vse DC-je z znaki DC04 v njihovih imenih:

Get-ADDomainController -Filter name -like "* dc04 *" | Izberite Ime, ipv4Address, OperatingSystem, spletno mesto

Poiščite vse razpoložljive DC-je na določenem spletnem mestu:

Get-ADDomainController -Discover -ForceDiscover -Site "Ime spletnega mesta"

Seznam DC na spletnih mestih, katerih imena se začnejo z Mos *:

Get-ADDomainController -Filter site -like "Mos *" | Izberite Ime, ipv4Address, OperatingSystem, spletno mesto

Seznam vseh krmilnikov domen samo za branje:

Get-ADDomainController -Filter IsReadOnly -eq $ true | Izberite Ime, ipv4Address, OperatingSystem, spletno mesto

Poiščite DC na spletnem mestu »Ime spletnega mesta«, ki vključuje vlogo Globalnega kataloga:

Get-ADDomainController -Filter site -eq "Ime spletnega mesta" -In IsGlobalCatalog -eq $ true | Izberite Ime, ipv4Address, OperatingSystem, spletno mesto

Skript PowerShell za preverjanje razpoložljivosti vseh krmilnikov domen

Naslednja zasnova vam omogoča iteracijo nad vsemi krmilniki domen v Active Directory in izvedite določeno dejanje za vsako od njih:

$ AllDCs = Get-ADDomainController -Filter *
ForEach ($ DC v $ AllDC)

naredite nekaj

Sledi primer preproste skripte PowerShell, ki preveri razpoložljivost vrat LDAPS (TCP 636) na vsakem DC v domeni s pomočjo ukaznega okna Test-NetConnection. Če vrata LDAPS na DC niso na voljo, se prikaže opozorilo.

$ AllDCs = Get-ADDomainController -Filter * | Select-Object Ime gostitelja, Ipv4address, isGlobalCatalog, spletno mesto, gozd, operacijski sistem
ForEach ($ DC v $ AllDC)

$ PortResult = Test-NetConnection -ComputerName $ DC.Hostname -Port 636 -InformationLevel Mirno
if ($ PortResult -ne "$ True")
piši gostitelj $ DC.Ime imena "ni na voljo" -BackgroundColor Rdeče -ForegroundColor White
else
write-host $ DC.Hostname "na voljo"

Rezultat je bil preprost skript za spremljanje razpoložljivosti. Še vedno obstajajo različni scenariji naštevanja vseh DC v domeni. V prejšnjih člankih smo že pokazali, kako uporabiti Get-ADDomainController za iskanje določenega dogodka v dnevnikih na vseh regulatorjih domene. Na primer: iskanje dogodkov za zaklepanje uporabniških računov, iskanje dogodkov za preverjanje pristnosti NTLMv1, iskanje dogodkov, ko je uporabnik dodan v skupino AD itd..