Get-ADDomainController Вземете AD домейн контролери, използвайки PowerShell

кратката команда Get-ADDomainController може да се използва за получаване на информация за контролери на домейни в Active Directory. Този командлет е част от модула Active Directory за PowerShell и изисква инсталирането на отделен компонент RSAT (в Windows 10 1809 и по-нови версии, RSAT е инсталиран по нов начин).

Съдържание:

  • Get-ADDomainController Cmdlet
  • Ние използваме Get-ADDomainController за избор на контролери на домейни според условията
  • Скрипт PowerShell за проверка на наличността на всички контролери на домейни

Get-ADDomainController Cmdlet

При стартиране Get-ADDomainController без параметри командлетът показва информация за текущия контролер на домейни (LogonServer), който се използва от този компютър за удостоверяване (DC се избира при стартиране в съответствие с топологията на AD сайтовете).

Cmdlet върна всички полета с информация за контролера на домейна, налична в AD.

ComputerObjectDN: CN = mskDC01, OU = Контролери на домейни, DC = corp, DC = winitpro, DC = ru DefaultPartition: DC = corp, DC = winitpro, DC = ru Домен: corp.winitpro.ru Активиран: True Forest: winitpro.ru HostName: mskDC01.corp.winitpro.ru InvocationId: 96234a-7fc6-4a32-9e62-3b32343ab4ad IPv4Address: 10.1.10.6 IPv6Address: IsGlobalCatalog: True IsReadOnly: False LdapPort: 389 Име на настройките: NMN Настройки 389 CN = сървъри, CN = MskCenter, CN = сайтове, CN = конфигурация, DC = winitpro, DC = b OperatingSystem: Windows Server 2008 R2 стандартна операционна системаHotfix: OperatingSystemServicePack: Service Pack 1 OperatingSystemVersion: 6.1 (7601) OperationMasterRoles:  дялове:  DC = ForestDnsZones, DC = winitpro, DC = ru, DC = DomainDnsZones, DC = corp, DC = winitpro, DC = ru, CN = схема, CN = конфигурация, DC = winitpro, DC = ru ... ServerObjectDN: CN = mskDC01 , CN = сървъри, CN = MskCenter, CN = сайтове, CN = конфигурация, DC = winitpro, DC = ru ServerObjectGuid: 8052323-e294-4430-a326-9553234431d6 Сайт: MskCenter SslPo rt: 636

Можете също така да намерите контролера на домейна, към който вашият компютър трябва да принадлежи чрез механизма DCLocator:

Вземете-ADDomainController-Открийте

Можете да намерите най-близкия наличен DC с активната роля на AD Web Services:

Вземете ADDomainController -ForceDiscover-Открийте -Услуга ADWS

Параметърът на услугата може да се използва за намиране на PDC в домейна:

Вземете-ADDomainController -Разкрийте -Сървис PrimaryDC

Ако вашият контролер на домейн не е намерен или не реагира, можете да намерите контролера на домейна в най-близкия AD адрес (определен от тежестта на комуникациите между сайтове):

Get-ADDomainController -Discover -ForceDiscover -NextClosestSite

За да изброите всички контролери на домейни в текущия домейн:

Get-ADDomainController -Filter * | фута

Можете да изчислите броя на контролерите на домейни в AD с помощта на командата:

Get-ADDomainController -Filter * | Мярка-Object

Ще покажем по-удобна таблица, в която всички контролери на домейни са посочени с тяхното име, IP адрес, версия на ОС и име на сайта на AD:

Get-ADDomainController -Filter * | Изберете Име, ipv4Address, OperatingSystem, сайт | Име на сортиране на обект

Ако трябва да получите информация за DC от друг домейн, трябва да посочите името на всеки наличен DC в домейн на трета страна, като използвате параметъра -Сървър (възможно с доверие между домейни).

Get-ADDomainController -Filter * -server dc01.contoso.cpm | Изберете Име, ipv4Address, IsGlobalCatalog, Сайт

Ние използваме Get-ADDomainController за избор на контролери на домейни според условията

Нека разгледаме някои полезни командлети, които можете да използвате, за да получите списък с контролери на домейни в AD по определени критерии.

Намерете контролер на домейн по неговия IP адрес:

Get-ADDomainController -Идентичност "10.1.1.120"

Намерете всички DC-та с символи DC04 в техните имена:

Get-ADDomainController -Filter name -like "* dc04 *" | Изберете Име, ipv4Address, OperatingSystem, сайт

Търсете всички налични DC в конкретен сайт:

Get-ADDomainController -Discover -ForceDiscover -Site "Име на сайта"

Списък на DC в сайтове, чиито имена започват с Mos *:

Get-ADDomainController -Filter site-like "Mos *" | Изберете Име, ipv4Address, OperatingSystem, сайт

Списък на всички контролери на домейни само за четене:

Get-ADDomainController -Filter IsReadOnly -eq $ true | Изберете Име, ipv4Address, OperatingSystem, сайт

Намерете DC в сайта „Име на сайта“, който включва ролята на Глобалния каталог:

Get-ADDomainController -Filter site -eq "Име на сайта" -и IsGlobalCatalog -eq $ true | Изберете Име, ipv4Address, OperatingSystem, сайт

Скрипт PowerShell за проверка на наличността на всички контролери на домейни

Следващият дизайн ви позволява да повтаряте всички контролери на домейни в Active Directory и да извършвате конкретно действие за всеки от тях:

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

направи нещо

Следва пример за прост скрипт PowerShell, който проверява наличието на LDAPS порт (TCP 636) на всеки DC в домейн, използвайки командлета Test-NetConnection. Ако LDAPS порта на DC не е наличен, се появява предупреждение.

$ AllDCs = Get-ADDomainController -Filter * | Select-Object Име на хост, Ipv4address, isGlobalCatalog, Сайт, гора, OperatingSystem
ForEach ($ DC в $ AllDC)

$ PortResult = Test-NetConnection -ComputerName $ DC.Hostname -Port 636 -InformationLevel Quiet
if ($ PortResult -ne "$ True")
write-host $ DC.Hostname "не е налично" -BackgroundColor Red -ForegroundColor White
else
write-host $ DC.Hostname "available"

Резултатът беше прост скрипт за мониторинг на наличността на DC. Все още има различни сценарии за изброяване на всички DC в областта. В предишни статии вече показахме как да използваме Get-ADDomainController за търсене на конкретно събитие в регистрационните файлове на всички контролери на домейни. Например, за: търсене на събития за блокиране на потребителски акаунт, търсене на събития за удостоверяване на NTLMv1, търсене на събития, когато потребителят е добавен към AD група и т.н..