как узнать имя контроллера домена в сети
Как узнать имя контроллера домена в сети
Добрый день! Уважаемые читатели и гости IT блога Pyatilistnik.org. В данной статье, я хочу рассказать, как определить какой контроллер домена вас аутентифицировал. Иногда бывают ситуации, что нужно понять, данную информацию, для поиска проблем. Приведу простой пример, на пользователя была применена политика, которую я отключил на одном из контроллеров, через какое-то время, пользователь обратился, все стем же вопросом, выяснилось, что на другом DC, бала та же политика, отключив ее, все решилось, и в этом помогла информации, о том, кто его аутентифицировал.
И видим, очень информативную выборку.
Как определить какой контроллер домена вас аутентифицировал
Или без лишней воды
Вот такая простоя, но очень полезная команда, и у нее еще очень много полезных функций. С вами был Иван Семин, автор и создатель IT блога pyatilistnik.org.
Популярные Похожие записи:
5 Responses to Как определить какой контроллер домена вас аутентифицировал
данную информацию украли как понять
Это автоматическая ссылка, которая показывает кто и откуда без спроса автора взял его контент.
Кстати, Иван, почитав статейку «Как узнать версию windows, за минуту», я обнаружил еще один способ: в cmd ввести команду systeminfo, в выведенной информации найти строку «Сервер входа в сеть:»
Хочу поблагодарить тебя за твой сайт, очень полезный. Смело его можно рекомендовать к изучению Windows Server.
set logon, set, echo %logonserver% — это все команды, берущие информацию с одной точки — переменной окружения. Можно еще задать set logonserver, берет с той же точки, и показывает за какой DC прицепился при логоне пользователь. А вот nltest /dsgetdc показывает за какой DC зацепился при логоне компьютер. Они могут различаться. И если есть проблемы при общении компа с доменом, то можно проверить их сопряжением командой powershell Test-ComputerSecurityChannel (набрать в окне пошика Test-Co и нажать табуляцию, он сам допишет). Если выдаст False, значит компьютер не может общаться со DC, за который зацепился. Причин может быть много, одна из них — проблемы на стороне DC.
Get-ADDomainController: получаем информацию о контроллерах домена AD с помощью PowerShell
Командлет Get-ADDomainController можно использовать для получения информации о контроллерах домена в Active Directory. Данный командлет входит в состав модуля Active Directory для PowerShell и требует установки отдельного компонента RSAT (в Windows 10 1809 и выше RSAT устанавливается по-новому).
Командлет Get-ADDomainController
При запуске Get-ADDomainController без параметров командлет выводит информацию о текущем контроллере домена (LogonServer), который используется данным компьютером для аутентификации (DC выбирается при загрузке в соответствии с топологией сайтов AD).
Командлет вернул все поля с информацией о контроллере домена, доступной в AD.
Также вы можете найти контроллер домена, к которому должен относится ваш компьютер через механизм DCLocator:
Вы можете найти ближайший доступный DC с активной ролью AD Web Services:
Параметр Service можно использовать, чтобы найти PDC в домене:
Если ваш контроллер домена не найден или не отвечает, вы можете найти контроллер домена в ближайшем сайте AD (определяется по весу межсайтовых связей):
Чтобы вывести список все контроллеров домена в текущем домене, выполните:
Посчитать количество контроллеров домена в AD можно с помощью команды:
Выведем более удобную таблицу, в которой указаны все контроллеры домена с их именем, IP адресом, версией ОС и именем сайта AD:
Если вам нужно получить информацию о DC из другого домена, нужно указать имя любого доступного DC в стороннем домене с помощью параметра –Server (возможно при наличии доверительных отношений между доменами).
Используем Get-ADDomainController для выборки контроллеров домена по условиям
Рассмотрим несколько полезных командлетов, которые можно использовать для получения списка контролеров домена в AD по определенным критериям.
Найти контроллер домена по его IP адресу:
Найти все DC, в имени которых есть символы DC04:
Поиск всех доступных DC в определенном сайте:
Вывести список DC в сайтах, имена которых начинаются с Mos*:
Найти DC в сайте “Site Name”, на которых включена роль Global Catalog:
PowerShell скрипт проверки доступности всех контроллеров домена
Следующая конструкция позволяет перебрать все контроллеры домена в Active Directory и выполнить для каждого из них определенное действие:
Ниже приведен пример простого PowerShell скрипта, который проверяет доступность LDAPS порта (TCP 636) на каждом DC в домене с помощью командлета Test-NetConnection. Если LDAPS порт на DC не доступен, появляется предупреждение.
Получился простой скрипт мониторинга доступности DC. Ест еще различные сценарии перебора всех DC в домене. В предыдущих статьях мы уже показывали, как использовать Get-ADDomainController для поиска определенного события в журналах на всех контролерах домена. Например, для: поиска события блокировки учетной записи пользователя, поиска событий NTLMv1 аутентификации, поиска событий добавления пользователя в группу AD и т.д.
Как получить имя контроллера домена
Как получить имя текущего контроллера домена? Данный отрезок кода выводит имя домена, а мне нужно имя контроллера.
1 ответ 1
Почему это работает:
При работе с доменом, на обращение по имени домена должен ответить первый доступный контроллер, для обеспечения максимальной скорости ответа. Поэтому DNS должен быть настроен таким образом, чтобы отдавать IP-адреса всех контроллеров по имени домена.
Контроллер домена обязан входить в домен, следовательно его имя, как и имя любого доменного компьютера, состоит из собственного имени компьютера и доменного суффикса. Это имя также регистрируется в DNS, как и мена любых других компьютеров, входящих в домен, для обеспечения возможности обращаться к конкретному компьютеру по имени, а не только прямому IP-адресу.
Таким образом, в случае с доменом, DNS должен отвечать следующим образом:
При запросе по одному из нескольких зарегистрированных IP-адресов конкретного компьютера, его имя может быть не обнаружено, если в DNS отсутствует симметричная запись для сопоставления именного этого адреса с именем. Также может вернуться альтернативное имя, если на разные адреса были назначены разные имена в DNS.
Ну и всегда стоит помнить, что взаимодействие между компьютерами происходит с использованием именно IP-адресов, а не их имен (разумеется, только на рассматриваемом уровне сетевого взаимодействия), поэтому, для практического использования, дальше получения списка адресов контроллеров домена можно не ходить.
Найти имя контроллера домена Active Directory
Как узнать имя /IP-адрес контроллера домена AD в моей сети?
7 ответов
На любом компьютере, настроенном DNS для DNS-сервера AD, выполните следующие действия:
Для компьютера, который является членом домена, переменная среды LOGONSERVER содержит имя DC, прошедшего проверку подлинности текущего пользователя. Очевидно, что это не все DC в среде с несколькими DC, но если все, что вам нужно, это быстрый способ найти имя контроллера домена, а затем из командной оболочки:
Вернет все переменные среды, начинающиеся с «L», включая имя DC.
Неизменная, супер простая и быстрая опция заключается в том, чтобы запустить ее из командной строки:
Просто замените имя домена на свой домен
Вы также можете запустить несколько других опций, чтобы узнать больше:
/dcname:domainname получает имя PDC для домена /dsgetdc:domainname содержит флажки для другой информации
Попробуйте nltest /? в вашем приглашении, чтобы получить больше опций! 🙂
Это вернет ваш ближайший контроллер домена в Powershell:
Плюс, учитывая, что активный каталог является не чем иным, как версией Microsoft Kerberos, LDAP, dhcp и dns. Было бы лучше понять и отладить вещи на более низких уровнях, чем слой 7+. Это связано с тем, что операционная система будет предировать эти же запросы, а подчеркивание RFC для каждого протокола фактически работает на уровне OSI, а не в «вставке любимого инструмента здесь».
Затем, используя dns для проверки _kerberos._tcp, _kpasswd._tcp, _LDAP._TCP.dc._msdcs и _ldap._tcp SRV записей:
Это разбивается на три области: две поддерживаемые протоколом записи DNS-SD:
Crude CMD
Просто найдите имена DC
Сохранить как GetDcNames.cmd :
(Примечание: конечная точка в «% userdnsdomain%.» предназначена специально. Она останавливает ваш локальный nslookup с использованием любых строк пути поиска DNS.)
Найти больше доменов DNS, связанных с AD
Я взломал быстрый и грязный пакетный файл, так что мне не нужно запоминать имена доменов DNS и /или им нужно набирать их все. (Список может быть неполным.)
Работает с подключенными к домену машинами. Если ваш компьютер не подключен к домену, вы должны вручную установить USERDNSDOMAIN для того, что вы хотите.
Найти имя контроллера домена Active Directory
Как я могу узнать имя / IP-адрес контроллера домена AD в моей сети?
На любом компьютере с DNS-сервером, настроенным для использования DNS-сервера AD, выполните:
Для компьютера, который является членом домена, переменная среды LOGONSERVER содержит имя контроллера домена, который аутентифицировал текущего пользователя. Очевидно, что это не все DC в среде с несколькими DC, но если все, что вам нужно, это быстрый способ найти имя контроллера домена, то из командной оболочки:
Вернет все переменные окружения, которые начинаются с «L», включая имя DC.
Просто замените «доменное имя» на ваш домен
Вы также можете запустить некоторые другие опции, чтобы узнать больше:
/dcname:domainname получает имя PDC для домена, /dsgetdc:domainname имеет флаги для другой информации
Попробуйте nltest /? в своем запросе, чтобы получить больше вариантов! 🙂
Это вернет ваш ближайший контроллер домена в Powershell:
DNS и DHCP являются наилучшим способом проверки, поскольку в сети могут находиться компьютеры Unix / Linux, управляемые контроллером домена AD или выполняющие роль контроллера домена.
Затем с помощью dns проверьте записи _kerberos._tcp, _kpasswd._tcp, _LDAP._TCP.dc._msdcs и _ldap._tcp SRV:
Это разбито на три области, две из которых являются поддерживаемыми протоколом записями DNS-SD:
Сырая CMD
Просто найдите имена DC
Сохранить как GetDcNames.cmd :
(Примечание: конечная точка в «% userdnsdomain%.» Предназначена специально. Она не позволяет вашему локальному nslookup использовать любые строки пути поиска DNS.)
Найти больше доменов DNS, связанных с AD
Я создал быстрый и грязный пакетный файл, чтобы мне не приходилось запоминать доменные имена DNS и / или вводить их все. (Список может быть неполным.)
Работает с подключенных к домену машин. Если ваша машина не подключена к домену, вы должны вручную установить для USERDNSDOMAIN то, что вам нужно.