Как узнать ip адрес контроллера домена
Перейти к содержимому

Как узнать ip адрес контроллера домена

  • автор:

What Domain Controller Am I Connected To – CMD & PowerShell

Windows Domain Controller (DC) is a server that responds to security authentication requests within a Windows Domain (group of networked computers controlled by domain controller).

In this short note i will show how to find out which DC a computer is authenticated to using Windows CMD and PowerShell.

Cool Tip: Check if the computer is in a domain! Read more →

What Domain Controller Am I Connected To

Get domain controller name in Windows CMD:

Get domain controller name in PowerShell:

To find out the FQDN and IP address of the domain controller, you can use nslookup command that works both in Windows CMD and PowerShell:

Cool Tip: How to determine whether the current user is a Domain User account or a Local User account! Read more →

Find name of Active Directory domain controller

How can I find out the name/IP address of the AD domain controller on my network?

9 Answers 9

On any computer, that has DNS configured to use AD’s DNS server do:

Start -> Run -> nslookup

Replace DOMAIN_NAME with the actual domain name e.g. example.com. Read more here.

For a computer that is a member of a domain the Environment Variable LOGONSERVER contains the name of the DC that authenticated the current user. This is obviously not going to be all DC’s in a multi-DC environment but if all you want is a quick way to find the name of a Domain Controller then from a command shell:

Will return all Environment variables that start with «L» including the name of a DC.

An unmentioned, super easy, and quick option is to run this from a command prompt:

Just replace ‘domainname’ with your domain

You can also run some other options to find out more:

/dcname:domainname gets the PDC name for the domain /dsgetdc:domainname has flags for other information

Try nltest /? in your prompt to get more options! 🙂

This will return your closest Domain Controller in Powershell:

From a Windows command prompt, run gpresult . You will get:

  • General workstation and domain information
  • For both the computer and the user:
    • Distinguished name in AD and which DC the policy was applied from
    • Applied Group Policy objects
    • List of security groups a member of

    Here is some analysis of gpresult output. You can also specify gpresult /z to get more detailed information.

    DNS and DHCP are the best way to check since there can be Unix/Linux machines on the network managed by the AD domain controller or acting as the domain controller.

    Plus, considering active directory is nothing more than Microsoft’s version of Kerberos, LDAP, dhcp and dns. It would be better to understand and debug things at lower layers than layer 7+. This is because the operating system would preform these same requests and the underlining RFC for each protocol actually operates at a OSI level not the "insert favorite tool here" level.

    One can go a step further and query the dhcp for options 6, 15, and 44 to get the domain name, domain name server, and Wins/NetBIOS name server.

    Then using dns to check for the _kerberos._tcp, _kpasswd._tcp, _LDAP._TCP.dc._msdcs, and _ldap._tcp SRV records:

    This breaks down into three areas, two are protocol supported DNS-SD records:

    Get-ADDomainController: получаем информацию о контроллерах домена AD с помощью PowerShell

    date13.08.2019
    useritpro
    directoryActive Directory, PowerShell
    commentsкомментариев 5

    Командлет Get-ADDomainController можно использовать для получения информации о контроллерах домена в Active Directory. Данный командлет входит в состав модуля Active Directory для PowerShell и требует установки отдельного компонента RSAT (в Windows 10 1809 и выше RSAT устанавливается по-новому).

    Командлет Get-ADDomainController

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

    Get-ADDomainController информация о текущем контроллере домена

    Командлет вернул все поля с информацией о контроллере домена, доступной в AD.

    Также вы можете найти контроллер домена, к которому должен относится ваш компьютер через механизм DCLocator:

    Вы можете найти ближайший доступный DC с активной ролью AD Web Services:

    Get-ADDomainController –ForceDiscover -Discover -Service ADWS

    Параметр Service можно использовать, чтобы найти PDC в домене:

    Get-ADDomainController -Discover -Service PrimaryDC

    Если ваш контроллер домена не найден или не отвечает, вы можете найти контроллер домена в ближайшем сайте AD (определяется по весу межсайтовых связей):

    Get-ADDomainController –Discover –ForceDiscover -NextClosestSite

    Чтобы вывести список все контроллеров домена в текущем домене, выполните:

    Get-ADDomainController -Filter * | ft

    Get-ADDomainController list

    Посчитать количество контроллеров домена в AD можно с помощью команды:

    Get-ADDomainController -Filter * | Measure-Object

    кол-во контроллеров домена в ad

    Выведем более удобную таблицу, в которой указаны все контроллеры домена с их именем, IP адресом, версией ОС и именем сайта AD:

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

    получить список DC с IP адресами и именами

    Если вам нужно получить информацию о DC из другого домена, нужно указать имя любого доступного DC в стороннем домене с помощью параметра –Server (возможно при наличии доверительных отношений между доменами).

    Get-ADDomainController -Filter * -server dc01.contoso.cpm | Select Name, ipv4Address, IsGlobalCatalog, Site

    получить DC из стороннего домен

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

    Рассмотрим несколько полезных командлетов, которые можно использовать для получения списка контролеров домена в AD по определенным критериям.

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

    Get-ADDomainController -Identity «10.1.1.120»

    Найти все DC, в имени которых есть символы DC04:

    Get-ADDomainController -Filter < name -like "*dc04*">| Select Name, ipv4Address, OperatingSystem, site

    Поиск всех доступных DC в определенном сайте:

    Get-ADDomainController -Discover -ForceDiscover -Site «Site-Name»

    Вывести список DC в сайтах, имена которых начинаются с Mos*:

    Get-ADDomainController -Filter | Select Name, ipv4Address, OperatingSystem, site

    Get-ADDomainController - получить список контроллеров домена в сайте AD

    Get-ADDomainController -Filter < IsReadOnly -eq $true>| Select Name, ipv4Address, OperatingSystem, site

    Найти DC в сайте “Site Name”, на которых включена роль Global Catalog:

    Get-ADDomainController -Filter | Select Name, ipv4Address, OperatingSystem, site

    PowerShell скрипт проверки доступности всех контроллеров домена

    Следующая конструкция позволяет перебрать все контроллеры домена в Active Directory и выполнить для каждого из них определенное действие:

    $AllDCs = Get-ADDomainController -Filter *
    ForEach($DC in $AllDCs)
    <
    do something
    >

    Ниже приведен пример простого PowerShell скрипта, который проверяет доступность LDAPS порта (TCP 636) на каждом DC в домене с помощью командлета Test-NetConnection. Если LDAPS порт на DC не доступен, появляется предупреждение.

    $AllDCs = Get-ADDomainController -Filter * | Select-Object Hostname,Ipv4address,isGlobalCatalog,Site,Forest,OperatingSystem
    ForEach($DC in $AllDCs)
    <
    $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 » доступен» >
    >

    скрипт проверки доступности всех DC в домене

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

    Предыдущая статьяПредыдущая статья Следующая статья Следующая статья

    PowerShell: системное администрирование и программирование

    Всё о PowerShell в Windows и на Linux. Системное администрирование Windows

    Get-ADDomainController: получение информации о контроллерах домена через PowerShell

    Вы можете использовать командлет PowerShell Get-ADDomainController для получения информации о контроллерах домена в Active Directory. Этот командлет является частью модуля Active Directory для Windows PowerShell, который может быть установлен как на Windows Server, так и на рабочих станциях Windows. Подробности смотрите в статье «Как установить и использовать Модуль Active Directory для Windows PowerShell».

    Командлет Get-ADDomainController

    Get-ADDomainController выводит информацию об одном или нескольких контроллеров домена Active Directory на основе критериев обнаруживаемых служб, параметров поиска или путём предоставления идентификатора контроллера домена, например имени NetBIOS.

    Командлет Get-ADDomainController получает контроллеры домена, указанные в параметрах. Вы можете получить контроллеры домена, используя опции -Identity, -Filter или -Discover.

    При запуске Get-ADDomainController без каких-либо параметров командлет отображает информацию о текущем контроллере домена (LogonServer), используемом этим компьютером для проверки подлинности (контроллер домена выбирается в соответствии с топологией IP-подсети сайта AD):

    Командлет вернул все поля с информацией о контроллере домена, доступной в базе данных Active Directory.

    Примеры использования Get-ADDomainController

    Чтобы получить контроллер домена с помощью механизма обнаружения DCLocator, используйте опцию -Discover. Вы можете указать критерии поиска, задав такие опции, как -Service, -SiteName, -DomainName, -NextClosestSite, -AvoidSelf и -ForceDiscover.

    Также вы можете найти контроллер домена, которому должен принадлежать ваш компьютер, через службу -DCLocator:

    Следующая команда получит один доступный контроллер домена на указанном сайте:

    Опция -ForceDiscover указывает командлету очистить всю кэшированную информацию о контроллере домена и выполнить новое обнаружение. Если этот параметр не указан, командлет может возвращать кэшированные сведения о контроллере домена.

    Эта команда получает один доступный контроллер указанного домена в данном домене с помощью обнаружения.

    Вы можете найти ближайший доступный контроллер домена с активной ролью веб-служб AD:

    Опция -Service задаёт типы получаемых контроллеров домена. Вы можете указать более одного типа, используя список, разделённый запятыми. Допустимые значения для этого параметра:

    • PrimaryDC или 1
    • GlobalCatalog или 2
    • KDC или 3
    • TimeService или 4
    • ReliableTimeService или 5
    • ADWS или 6

    Пример использования опции -Service для поиска PDC (Primary Domain Controller Emulator) в вашем домене:

    Эта команда ищет компьютер с функцией Глобального каталога в текущем лесу:

    Эта команда получает основной контроллер домена с помощью обнаружения и проверяет, используется ли он в качестве сервера времени.

    Если ваш контроллер домена не найден или не отвечает, вы можете найти его на ближайшем сайте AD (определяется весом межсайтовых ссылок):

    Чтобы найти и получить более одного контроллера домена, используйте опцию -Filter.

    Чтобы отобразить список всех контроллеров домена в текущем домене, выполните такую команду:

    Используя следующую команду, вы можете подсчитать количество контроллеров домена в AD:

    Вы можете отобразить более удобную таблицу, в которой показаны все контроллеры домена, их имена хостов, IP-адреса, версии ОС и имена сайтов AD:

    Если вы хотите получить некоторую информацию о DC из другого домена, укажите имя любого доступного DC в другом домене с помощью параметра -Server (это возможно в случае включения доверительных отношений между доменами).

    Использование Get-ADDomainController для поиска контроллеров домена по определенным критериям

    Давайте рассмотрим несколько полезных команд, которые вы можете использовать для получения списка контроллеров домена в AD по определенным критериям.

    Опция -Identity указывает контроллер домена, который нужно получить. Вы можете идентифицировать контроллер домена по его GUID, IPV4Address, глобальному IPV6Address или имени узла DNS.

    Чтобы найти контроллер домена по его IP-адресу:

    Эта команда получает контроллер домена, используя его NetBIOS имя.

    Эта команда получает контроллер домена, используя его имя хоста DNS, в домене, указанном параметром -Site, указанным в параметре -Server, и с указанием учётных данных администратора.

    Чтобы найти все контроллеры домена, в именах которых есть DC02:

    Чтобы отобразить список контроллеров домена на сайтах, имена которых начинаются с «Mun*»:

    Чтобы отобразить список всех контроллеров домена только для чтения (RODC):

    Чтобы найти контроллеры домена на сайте «Rome» с включённой ролью глобального каталога:

    Скрипт PowerShell для проверки доступности всех контроллеров домена

    Следующий скрипт PowerShell позволяет поочерёдно проверять контроллеры домена и выполнять для каждого из них определённые действия:

    Вот пример простого скрипта PowerShell, который проверяет доступность порта LDAPS (TCP 636) на каждом контроллере домена в вашем домене с помощью командлета Test-NetConnection. Если порт LDAPS недоступен, появится предупреждение.

    Получился простой скрипт для отслеживания доступности всех контроллеров домена в вашем домене.

    Также существуют разные сценарии для проверки всех контроллеров домена по очереди.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *