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

Как узнать к какому домен контроллеру подключен компьютер

  • автор:

Как узнать к какому контроллеру домена подключен компьютер

В этой статье описывается механизм, используемый Windows для обнаружения контроллера домена в Windows домене.

Эта статья применяется к Windows 2000. Поддержка Windows 2000 заканчивается 13 июля 2010 г. Центр Windows 2000 года является отправной точкой для планирования стратегии миграции с 2000 г. Windows 2000 г. Дополнительные сведения см. в политике жизненного цикла поддержки Майкрософт.

Применяется к: Windows Server 2019, Windows Server 2016, Windows Server 2012 R2
Исходный номер КБ: 247811

Сводка

В этой статье подробно извещен процесс размещения домена в стиле DNS и его имя в плоском стиле (NetBIOS). Имя плоского стиля используется для обратной совместимости. Во всех остальных случаях имена в стиле DNS должны использоваться в качестве политики. В этой статье также решается вопрос устранения неполадок в процессе расположения контроллера домена.

Как локатор находит контроллер домена

В этой последовательности описывается, как локатор находит контроллер домена:

На клиенте (компьютере, на который находится контроллер домена) локатор запущен в качестве удаленного вызова процедуры (RPC) в локализовую службу Netlogon. Вызов интерфейса программирования приложений Locator DsGetDcName (API) реализуется службой Netlogon.

Клиент собирает сведения, необходимые для выбора контроллера домена. Затем он передает сведения службе Netlogon с помощью вызова DsGetDcName.

Служба Netlogon для клиента использует собранные сведения для получения контроллера домена для указанного домена одним из двух способов:

Для имени DNS Netlogon запрашивает DNS с помощью локатора, совместимого с IP/DNS. То есть DsGetDcName вызывает вызов DnsQuery для чтения записей ресурса службы (SRV) и записей «A» из DNS после того, как он привносим доменное имя в соответствующую строку, которая указывает записи SRV.

На рабочей станции, входя в Windows доменных запросов DNS для записей SRV в общей форме:

Серверы Active Directory предлагают службу Протокола доступа к облегченным каталогам (LDAP) по протоколу TCP. Таким образом, клиенты находят сервер LDAP, запрашивая DNS для записи формы:

Для имени NetBIOS Netlogon выполняет обнаружение контроллера домена с помощью Locator Windows NT версии 4.0. То есть с помощью транспортного механизма, например WINS.

В Windows NT 4.0 и ранее «обнаружение» — это процесс поиска контроллера домена для проверки подлинности в основном домене или доверенного домена.

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

UDP позволяет программе на одном компьютере отправлять телеграмму данных в программу на другом компьютере. UDP включает номер порта протокола, который позволяет отправителю различать несколько направлений (программ) на удаленном компьютере.

  • Каждый доступный контроллер домена отвечает на набор данных, чтобы указать, что он в настоящее время работает, и возвращает сведения в DsGetDcName.
  • Служба Netlogon запрашивает сведения контроллера домена, чтобы более поздние запросы не повторяли процесс обнаружения. Кэшировка этих сведений способствует последовательному использованию одного и того же контроллера домена и последовательному представлению Active Directory.

Когда клиент входит в сеть или присоединяется к ней, он должен иметь возможность найти контроллер домена. Клиент отправляет запрос DNS Lookup в DNS для поиска контроллеров домена, предпочтительно в собственной подсети клиента. Таким образом, клиенты находят контроллер домена, запрашивая DNS для записи формы:

После обнаружения контроллера домена клиент устанавливает связь с помощью LDAP для получения доступа к Active Directory. В рамках этих переговоров контроллер домена определяет, на какой сайт находится клиент, основываясь на подсети IP этого клиента.

Если клиент общается с контроллером домена, не на самом близком (оптимальном) сайте, контроллер домена возвращает имя сайта клиента. Если клиент уже пытался найти контроллеры домена на этом сайте, клиент использует не оптимальный контроллер домена. Например, клиент отправляет запрос DNS Lookup в DNS, чтобы найти контроллеры домена в подсети клиента.

В противном случае клиент снова будет искать DNS с новым оптимальным именем сайта. Контроллер домена использует некоторые сведения службы каталогов для идентификации сайтов и подсетей.

После обнаружения клиентом контроллера домена запись контроллера домена кэшется. Если контроллер домена не находится на оптимальном сайте, клиент сбрасывает кэш через 15 минут и удаляет запись кэша. Затем он пытается найти оптимальный контроллер домена на том же сайте, что и клиент.

После того как клиент наладил путь к контроллеру домена, он может установить учетные данные для логоса и проверки подлинности. При необходимости для Windows компьютеров можно настроить безопасный канал. После этого клиент готов выполнять обычные запросы и искать информацию в каталоге.

Клиент устанавливает подключение LDAP к контроллеру домена для входа в систему. Процесс логона использует диспетчер учетных записей безопасности. Путь к коммуникациям использует интерфейс LDAP, и клиент аутентификация с помощью контроллера домена. Таким образом, учетная запись клиента проверяется и передается через Диспетчер учетных записей безопасности агенту службы каталогов, затем в уровень базы данных и, наконец, в базу данных в движке Extensible служба хранилища (ESE).

Устранение неполадок процесса локатора домена

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

Проверьте конфигурацию IP с помощью ipconfig /all команды по командной подсказке.

Используйте утилиту Ping для проверки подключения к сети и разрешения имен. Ping как IP-адрес, так и имя сервера. Кроме того, может потребоваться ping доменное имя.

netdiag /v >test.txt
Просмотрите файл журнала, ищите проблемы и изучите все связанные компоненты. Этот файл также содержит другие сведения о конфигурации сети.

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

Используйте команду, чтобы убедиться, что контроллер домена может быть nltest /dsgetdc:domainname расположен для определенного домена.

Если одна из этих команд не удалась, используйте один из следующих методов для перерегистрации записей в DNS:

  • Чтобы заставить регистрацию записей хостов, введите ipconfig/registerdns.
  • Чтобы заставить регистрацию службы контроллера домена, остановитесь и запустите службу Netlogon.

Чтобы обнаружить проблемы с контроллером домена, запустите утилиту DCdiag из командной подсказки. Утилита выполняет множество тестов, чтобы убедиться, что контроллер домена работает правильно. Используйте эту команду для отправки результатов в текстовый файл: dcdiag /v >dcdiag.txt

Используйте средство Ldp.exe для подключения и привязки к контроллеру домена для проверки соответствующего подключения LDAP.

Если вы подозреваете, что у определенного контроллера домена возникли проблемы, может быть полезно включить ведение журнала отключения Netlogon. Используйте утилиту NLTest, введя эту команду: nltest /dbflag:0x2000ffff . Затем эти сведения регистрируются в папке Debug в файле Netlogon.log.

Если вы еще не изолировали проблему, используйте Network Monitor для мониторинга сетевого трафика между клиентом и контроллером домена.

Ссылки

Дополнительные сведения см. в Windows в главе 10 «Диагностика, устранение неполадок и восстановление» (Active Directory Diagnostic, Troubleshooting and Recovery).

Как я могу узнать имя / IP-адрес контроллера домена AD в моей сети?

На любом компьютере с DNS-сервером, настроенным для использования DNS-сервера AD, выполните:

Пуск -> Выполнить -> nslookup

В ответе выше ввод set type = all (в nslookup) позволяет просматривать записи DNS SRV. Вы могли бы также ввести «set type = SRV», записи SRV показывают, как AD рекламирует себя в сети Я запустил это и получил _ldap._tcp.dc._msdcs.UnKnown . Что значит UnKnown ?

Для компьютера, который является членом домена, переменная среды LOGONSERVER содержит имя контроллера домена, который аутентифицировал текущего пользователя. Очевидно, что это не все DC в среде с несколькими DC, но если все, что вам нужно, это быстрый способ найти имя контроллера домена, то из командной оболочки:

Вернет все переменные окружения, которые начинаются с «L», включая имя DC.

+1 для простоты. После получения имени DC, просто пропингуйте его, чтобы получить IP. просто да, но если у вас есть VPN-подключение к интересующей вас сети, LOGONSERVER не даст вам этого. Принятый ответ даст вам правильный сервер во всех случаях, которые я могу придумать. Это не идеально, но иногда важно также знать, как сделать что-то достаточно хорошее быстро. Это также не помогает при локальных входах, но я никогда не проверял это через VPN, хорошо знать, спасибо.

Не упомянутый, супер простой и быстрый вариант — запустить его из командной строки:

Просто замените «доменное имя» на ваш домен

Вы также можете запустить некоторые другие опции, чтобы узнать больше:

/dcname:domainname получает имя PDC для домена, /dsgetdc:domainname имеет флаги для другой информации

Попробуйте nltest /? в своем запросе, чтобы получить больше вариантов! 🙂

C:\> nltest /dclist:domainname Cannot find DC to get DC list from.Status = 1355 0x54b ERROR_NO_SUCH_DOMAIN The command completed successfully Что это обозначает?

Это вернет ваш ближайший контроллер домена в Powershell:

Из командной строки запустите gpresult . Ты получишь:

  • Общая информация о рабочей станции и домене
  • Как для компьютера, так и для пользователя :
    • Отличительное имя в AD и с какого DC была применена политика
    • Прикладные объекты групповой политики
    • Список групп безопасности, членом которых является

    Вот пример вывода обкатки gpresult . Вы также можете указать, gpresult /z чтобы получить более подробную информацию.

    DNS и DHCP являются наилучшим способом проверки, поскольку в сети могут находиться компьютеры Unix / Linux, управляемые контроллером домена AD или выполняющие роль контроллера домена.

    Плюс, учитывая, что активный каталог — это не что иное, как версия Microsoft Kerberos, LDAP, dhcp и dns. Было бы лучше понимать и отлаживать вещи на нижних уровнях, чем на уровне 7+. Это связано с тем, что операционная система будет выполнять те же самые запросы, а подчеркивающий RFC для каждого протокола фактически работает на уровне OSI, а не на уровне «вставьте сюда любимый инструмент».

    Можно пойти еще дальше и сделать запрос DHCP для вариантов 6, 15 и 44 , чтобы получить имя домена , сервер доменных имен , и имя сервера Выигрыши / NetBIOS .

    Затем с помощью dns проверьте записи _kerberos._tcp, _kpasswd._tcp, _LDAP._TCP.dc._msdcs и _ldap._tcp SRV:

    Это разбито на три области, две из которых являются поддерживаемыми протоколом записями DNS-SD:

    • _kerberos._tcp и _kpasswd._tcp (также под UNIX / Linux / OSX + некоторые сети Windows имеет _kadmin._tcp ) для Kerberos
    • _ldap._tcp предназначен для ldap (openldap, opendc, каталог sun / oracle, ms ad) _LDAP._TCP.dc._msdcs является единственным расширением Microsoft для ldap для сопоставления контроллера домена.

    Просто найдите имена DC

    Сохранить как GetDcNames.cmd :

    (Примечание: конечная точка в «% userdnsdomain%.» Предназначена специально. Она не позволяет вашему локальному nslookup использовать любые строки пути поиска DNS.)

    Найти больше доменов DNS, связанных с AD

    Я создал быстрый и грязный пакетный файл, чтобы мне не приходилось запоминать доменные имена DNS и / или вводить их все. (Список может быть неполным.)

    Работает с подключенных к домену машин. Если ваша машина не подключена к домену, вы должны вручную установить для USERDNSDOMAIN то, что вам нужно.

    Как узнать имя /IP-адрес контроллера домена AD в моей сети?

    На любом компьютере, настроенном DNS для DNS-сервера AD, выполните следующие действия:

    Пуск -> Run -> nslookup

    Для компьютера, который является членом домена, переменная среды LOGONSERVER содержит имя DC, прошедшего проверку подлинности текущего пользователя. Очевидно, что это не все DC в среде с несколькими DC, но если все, что вам нужно, это быстрый способ найти имя контроллера домена, а затем из командной оболочки:

    Вернет все переменные среды, начинающиеся с «L», включая имя DC.

    Неизменная, супер простая и быстрая опция заключается в том, чтобы запустить ее из командной строки:

    Просто замените имя домена на свой домен

    Вы также можете запустить несколько других опций, чтобы узнать больше:

    /dcname:domainname получает имя PDC для домена /dsgetdc:domainname содержит флажки для другой информации

    Попробуйте nltest /? в вашем приглашении, чтобы получить больше опций! 🙂

    Это вернет ваш ближайший контроллер домена в Powershell:

    В командной строке запустите gpresult . Вы получите:

    • Общая информация о рабочей станции и домене
    • Для компьютера и пользователя :
      • Отличительное имя в AD и какая DC политика была применена из
      • Объекты прикладной групповой политики
      • Список групп безопасности, входящих в состав

      Ниже представлен пример выполнения Gpresult . Вы также можете указать gpresult , чтобы получить более подробную информацию.

      DNS и DHCP — лучший способ проверить, поскольку в сети могут быть компьютеры Unix /Linux, управляемые контроллером домена AD или действующие в качестве контроллера домена.

      Плюс, учитывая, что активный каталог является не чем иным, как версией Microsoft Kerberos, LDAP, dhcp и dns. Было бы лучше понять и отладить вещи на более низких уровнях, чем слой 7+. Это связано с тем, что операционная система будет предировать эти же запросы, а подчеркивание RFC для каждого протокола фактически работает на уровне OSI, а не в «вставке любимого инструмента здесь».

      Можно пойти дальше и запросить dhcp для параметров 6, 15 и 44, чтобы получить , сервер доменных имен и Wins /NetBIOS-сервер имен .

      Затем, используя dns для проверки _kerberos._tcp, _kpasswd._tcp, _LDAP._TCP.dc._msdcs и _ldap._tcp SRV записей:

      Это разбивается на три области: две поддерживаемые протоколом записи DNS-SD:

      • _kerberos._tcp и _kpasswd._tcp (также в UNIX /Linux /OSX + некоторые сети Windows имеют _kadmin._tcp ) для кеберосов
      • _ldap._tcp для ldap (openldap, opendc, каталог sun /oracle, ms ad) _LDAP._TCP.dc._msdcs — это только расширение Microsoft для ldap для сопоставления контроллера домена.

      Просто найдите имена DC

      Сохранить как GetDcNames.cmd :

      Запуск от имени: GetDcNames.cmd .

      (Примечание: конечная точка в «% userdnsdomain%.» предназначена специально. Она останавливает ваш локальный nslookup с использованием любых строк пути поиска DNS.)

      Найти больше доменов DNS, связанных с AD

      Я взломал быстрый и грязный пакетный файл, так что мне не нужно запоминать имена доменов DNS и /или им нужно набирать их все. (Список может быть неполным.)

      Работает с подключенными к домену машинами. Если ваш компьютер не подключен к домену, вы должны вручную установить USERDNSDOMAIN для того, что вы хотите.

      Читайте также:

      • Как посмотреть программное обеспечение на компьютере
      • Hunters arena legends ps4 можно ли играть вдвоем
      • Будет ли урок по компьютерным играм
      • Ноутбук toshiba satellite c850 обзор
      • Как восстановить поврежденный qr код

      Как узнать, к какому контроллеру домена подключен компьютер

      В некоторых случаях вам нужно определить, на каком контроллере домена вы прошли аутентификацию. Это может быть полезно по ряду причин, таких как устранение неполадок групповой политики, медленный вход в систему, проблемы с приложениями, подключение сетевых дисков или принтеров и т. д.

      Например, недавно я столкнулся с проблемой, из-за которой единый вход не работал для нескольких приложений. Я устранял проблему с несколькими виртуальными рабочими столами и заметил, что единый вход работает на одном из них. Я подумал, что это странно, учитывая, что все виртуальные рабочие столы были одинаковыми. Именно тогда я проверил, на каком контроллере домена он прошел аутентификацию, и заметил, что это был DC2, а все остальные — DC1.

      Как проверить сервер входа

      Вы можете проверить сервер входа в систему с помощью командной строки или PowerShell.

      Вариант 1. Использование командной строки

      Откройте командную строку, введите команду ниже и нажмите Enter

      На снимке экрана выше я выполнил аутентификацию на контроллере домена DC2. Команда set l отображает все из команды set, которая начинается с l, поэтому она также отображает данные локального приложения. Вы можете просто ввести set logon, чтобы увидеть только сервер входа в систему.

      Вариант 2. Использование PowerShell

      Откройте PowerShell, введите приведенную ниже команду и нажмите клавишу ввода

      Поиск применения групповой политики контроллера домена

      Если вам нужно узнать, с какого контроллера домена компьютер или пользователь применил параметры своей групповой политики, запустите команду gpresult /r.

      На снимке экрана выше видно, что групповая политика была применена из DC2.

      Обязательно проверьте раздел настроек пользователя, так как политика может применяться с другого контроллера домена.

      Рекомендуется: средство очистки Active Directory

      Выявление и удаление неактивных учетных записей пользователей и компьютеров в сети Active Directory.

      Поиск по всему домену или ограничение поиска определенной группой или подразделением. Вы можете массово отключить и переместить учетные записи в другую организационную единицу. Найдите отключенные аккаунты, пустые группы и многое другое.

      Здравствуйте, у меня есть вопрос о том, как узнать, к какому контроллеру домена я подключен. Я знаю 2 разные команды. 1 — команда echo %logonserver%, а другая — команда nltest /dsgetdc. Когда я запускаю их, я получаю 2 разных результата контроля домена. Одна из этих команд предназначена для профиля компьютера, а другая — для профиля пользователя?

      alex32165

      Этот человек является проверенным специалистом

      Угрозы кибербезопасности и потребность в надежном резервном копировании

      2022-03-29 18:00:00 UTC Вебинар Вебинар: Spanning — угрозы кибербезопасности и потребность в надежном резервном копировании Сведения о событии Просмотреть все события

      17 ответов

      jcLAMBERT

      Этот человек является проверенным специалистом

      В проводнике просто введите %logonserver%

      momurda

      cmd.exe > эхо %logonserver%

      или установить bginfo

      alex32165

      Этот человек является проверенным специалистом

      Хорошо, я знаю о команде logonserver, но я пытаюсь понять разницу между ней и командой nltest /dsgetdc и почему она дает другой результат.

      GuruGabe1

      Этот человек является проверенным специалистом

      Будет ли последним результатом ваш основной контроллер домена?

      momurda

      alex32165 написал:

      хорошо, я знаю о команде logonserver, но я пытаюсь понять разницу между ней и командой nltest /dsgetdc и почему она дает другой результат.

      На первый взгляд, /dsgetdc возвращает эмулятор pdc, logonserver — это контроллер домена, с которым вы выполняете аутентификацию в текущем сеансе.

      Fessor

      Или из командной строки C:\> установите L

      чтобы получить сервер входа

      alex32165

      Этот человек является проверенным специалистом

      GuruGabe1 написал:

      Будет ли последним результатом ваш PDC?

      Нет, NLtest не отображает мой PDC.

      bbigford

      Этот человек является проверенным специалистом

      momurda написал:

      cmd.exe > echo %logonserver%

      или установить bginfo

      Я часто использую его.

      Я получаю одно и то же, два разных результата (оба контроллера домена) из двух разных команд, но я тоже не знаю почему.

      adrian_ych

      Этот человек является проверенным специалистом

      Какие ОС у вас на контроллерах домена?

      Вы можете получить разные результаты, так как один должен проверить, какой контроллер домена доступен, а другой — проверить, на каком контроллере домена зарегистрирована машина.

      Тогда также в зависимости от того, как параметры DNS установлены в обоих контроллерах домена (циклический или нет), не должно иметь особого значения, в какой контроллер домена входят компьютеры, поскольку предполагается, что контроллеры домена работают как HA и FT (если есть 2 правильно настроены или несколько контроллеров домена).

      alex32165 написал:

      хорошо, я знаю о команде logonserver, но я пытаюсь понять разницу между ней и командой nltest /dsgetdc и почему она дает другой результат.

      Ответ заключается в том, что nltest не возвращает контроллер домена, в который вы вошли.

      Rupesh ( Лепид)

      Этот человек является проверенным специалистом

      Представитель бренда Lepide

      Вы можете запустить «echo %logonserver%» в командной строке, чтобы просмотреть текущий подключенный контроллер домена.

      Для определения DC компьютера/сервера используйте NLTEST:

      Чтобы перечислить все DC с их соответствующими сайтами, попробуйте:

      Blacksinfo73

      Этот человек является проверенным специалистом

      Как поясняется в приведенной ниже ссылке, nltest с переключателем dsgetdc — лучший вариант

      Griff_389

      Этот человек является проверенным специалистом

      Я просто использую «set» из командной строки и проверяю переменную logonserver.

      Или, как указывалось ранее, введите «set L», чтобы получить только переменные, начинающиеся с L (или «set Log», чтобы быть более точным).

      Я всегда использовал команду Set на локальных рабочих станциях.

      На серверах мне нравится nltest /DSGETDC. Чтобы получить больше опций, введите nltest /? если вам действительно нужно во всем разобраться.,

      Команда SET возвращает значение с момента его установки, то есть оно не является динамическим. Таким образом, в случае нескольких контроллеров домена (и вероятности того, что вы переключились на новый) это может ввести в заблуждение.

      Эта тема заблокирована администратором и больше не открыта для комментариев.

      Чтобы продолжить это обсуждение, задайте новый вопрос.

      Что бы вы сделали?

      Итак, я работаю в MSP, который работает круглосуточно и без выходных. Старший инженер в нежелательную смену с 23:00 до 8:00 уходит. Теперь у меня есть возможность перейти на эту должность, насколько больше это потребует компенсации в процентах от того, что я зарабатываю сейчас? и я скажу это.

      Щелкни! Lapsus$, Excel RAT, Honda Hackers, Lunar Landers, Windows Easter Egg

      Ваша ежедневная доза технических новостей. Вы должны это услышать. Подозреваемые Lapsus$ арестованы за взломы Microsoft, Nvidia, Okta. Больше информации о группе Lapsus$, ответственной за ряд недавних кибератак. Несколько из группы».

      Искра! Серия Pro — 25 марта 2022 г.

      Friday Из бесплатной энциклопедии Википедии. Другие значения см. в Friday (значения). Пятница — день недели между четвергом и субботой. В странах, принимающих обычай «понедельник-первый».

      В этой статье описывается механизм, используемый Windows для обнаружения контроллера домена в домене Windows.

      Эта статья относится к Windows 2000. Поддержка Windows 2000 заканчивается 13 июля 2010 г. Центр решений по окончанию поддержки Windows 2000 является отправной точкой для планирования стратегии перехода с Windows 2000. Дополнительные сведения см. Политика жизненного цикла поддержки Майкрософт.

      Применимо к: Windows Server 2019, Windows Server 2016, Windows Server 2012 R2
      Исходный номер базы знаний: 247811

      Обзор

      В этой статье подробно описывается процесс обнаружения домена по его имени в стиле DNS и его простому имени (NetBIOS). Имя в плоском стиле используется для обратной совместимости. Во всех остальных случаях следует использовать имена в стиле DNS в соответствии с политикой. В этой статье также рассматривается устранение неполадок в процессе определения местоположения контроллера домена.

      Как Locator находит контроллер домена

      Эта последовательность описывает, как локатор находит контроллер домена:

      На клиенте (компьютере, на котором находится контроллер домена) локатор запускается как удаленный вызов процедуры (RPC) для локальной службы входа в сеть. Вызов интерфейса прикладного программирования (API) Locator DsGetDcName реализуется службой Netlogon.

      Клиент собирает информацию, необходимую для выбора контроллера домена. Затем он передает информацию службе входа в сеть с помощью вызова DsGetDcName.

      Служба Netlogon на клиенте использует собранную информацию для поиска контроллера домена для указанного домена одним из двух способов:

      Для DNS-имени Netlogon запрашивает DNS с помощью локатора, совместимого с IP/DNS. То есть DsGetDcName вызывает вызов DnsQuery для чтения записей ресурсов службы (SRV) и записей «A» из DNS после добавления доменного имени к соответствующей строке, указывающей записи SRV.

      Рабочая станция, которая входит в домен Windows, запрашивает у DNS записи SRV в общем виде:

      Серверы Active Directory предлагают службу облегченного протокола доступа к каталогам (LDAP) по протоколу TCP. Таким образом, клиенты находят сервер LDAP, запрашивая у DNS запись вида:

      Для NetBIOS-имени Netlogon выполняет обнаружение контроллера домена с помощью локатора, совместимого с Microsoft Windows NT версии 4.0. То есть с помощью механизма, специфичного для транспорта, такого как WINS.

      В Windows NT 4.0 и более ранних версиях «обнаружение» — это процесс поиска контроллера домена для проверки подлинности либо в основном домене, либо в доверенном домене.

      Служба Netlogon отправляет дейтаграммы на компьютеры, зарегистрировавшие это имя. Для доменных имен NetBIOS дейтаграмма реализована как сообщение почтового ящика. Для доменных имен DNS дейтаграмма реализована как поиск по протоколу пользовательских дейтаграмм (UDP) LDAP. (UDP – это протокол передачи дейтаграмм без установления соединения, входящий в набор протоколов TCP/IP. TCP – это транспортный протокол, ориентированный на установление соединения.)

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

      UDP позволяет программе на одном компьютере отправлять дейтаграмму программе на другом компьютере. UDP включает номер порта протокола, который позволяет отправителю различать несколько получателей (программ) на удаленном компьютере.

      • Каждый доступный контроллер домена отвечает на дейтаграмму, чтобы указать, что он в настоящее время работает, и возвращает информацию в DsGetDcName.
      • Служба Netlogon кэширует информацию о контроллере домена, чтобы последующие запросы не повторяли процесс обнаружения. Кэширование этой информации способствует согласованному использованию одного и того же контроллера домена и единообразному представлению Active Directory.

      Когда клиент входит в систему или присоединяется к сети, он должен иметь возможность найти контроллер домена. Клиент отправляет запрос DNS Lookup в DNS, чтобы найти контроллеры домена, предпочтительно в собственной подсети клиента. Таким образом, клиенты находят контроллер домена, запрашивая у DNS запись вида:

      После того как клиент находит контроллер домена, он устанавливает связь с помощью LDAP для получения доступа к Active Directory. В рамках этого согласования контроллер домена определяет, на каком сайте находится клиент, на основе IP-подсети этого клиента.

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

      В противном случае клиент снова выполняет поиск DNS для конкретного сайта с новым оптимальным именем сайта. Контроллер домена использует некоторую информацию службы каталогов для идентификации сайтов и подсетей.

      После того как клиент находит контроллер домена, запись контроллера домена кэшируется. Если контроллер домена находится не на оптимальном сайте, клиент очищает кеш через 15 минут и отбрасывает запись кеша. Затем он пытается найти оптимальный контроллер домена на том же сайте, что и клиент.

      После того как клиент установил путь связи с контроллером домена, он может установить учетные данные для входа и аутентификации. А при необходимости для компьютеров на базе Windows может настроить безопасный канал. После этого клиент готов выполнять обычные запросы и искать информацию в каталоге.

      Клиент устанавливает соединение LDAP с контроллером домена для входа в систему. В процессе входа в систему используется диспетчер учетных записей безопасности. Путь связи использует интерфейс LDAP, и клиент аутентифицируется контроллером домена. Таким образом, учетная запись клиента проверяется и передается через диспетчер учетных записей безопасности агенту службы каталогов, затем на уровень базы данных и, наконец, в базу данных в механизме расширяемого хранилища (ESE).

      Устранение неполадок в процессе поиска доменов

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

      Проверьте средство просмотра событий как на клиенте, так и на сервере. Журналы событий могут содержать сообщения об ошибках, указывающие на наличие проблемы. Чтобы просмотреть средство просмотра событий, выберите «Пуск», выберите «Программы» > «Администрирование», а затем выберите «Просмотр событий». Проверьте системный журнал как на клиенте, так и на сервере. Также проверьте журналы службы каталогов на сервере и журналы DNS на DNS-сервере.

      Проверьте конфигурацию IP с помощью команды ipconfig /all в командной строке.

      Используйте утилиту Ping для проверки подключения к сети и разрешения имен. Пропингуйте как IP-адрес, так и имя сервера. Вы также можете проверить связь с доменным именем.

      Используйте средство Netdiag, чтобы определить, правильно ли работают сетевые компоненты. Чтобы отправить подробный вывод в текстовый файл, используйте следующую команду:

      netdiag /v >test.txt
      Просмотрите файл журнала, найдите проблемы и изучите любые связанные компоненты. Этот файл также содержит другие сведения о конфигурации сети.

      Для устранения мелких проблем используйте средство Netdiag со следующим синтаксисом:

      Используйте команду nltest /dsgetdc:domainname, чтобы убедиться, что контроллер домена может быть расположен для определенного домена.

      Используйте инструмент NSLookup, чтобы убедиться, что записи DNS правильно зарегистрированы в DNS. Убедитесь, что записи узла сервера и записи GUID SRV могут быть разрешены.

      Если ни одна из этих команд не выполняется, используйте один из следующих методов для перерегистрации записей в DNS:

      • Чтобы принудительно зарегистрировать запись хоста, введите ipconfig /registerdns.
      • Чтобы принудительно зарегистрировать службу контроллера домена, остановите и снова запустите службу Netlogon.

      Чтобы обнаружить проблемы с контроллером домена, запустите утилиту DCdiag из командной строки. Утилита запускает множество тестов, чтобы убедиться, что контроллер домена работает правильно. Используйте эту команду для отправки результатов в текстовый файл: dcdiag /v >dcdiag.txt

      Используйте средство Ldp.exe для подключения и привязки к контроллеру домена, чтобы проверить правильность подключения LDAP.

      Если вы подозреваете, что у конкретного контроллера домена есть проблемы, может быть полезно включить ведение журнала отладки Netlogon. Используйте утилиту NLTest, введя следующую команду: nltest /dbflag:0x2000ffff. Затем информация записывается в папку Debug в файле Netlogon.log.

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

      Ссылки

      Дополнительную информацию см. в наборе ресурсов Windows, глава 10, «Диагностика Active Directory, устранение неполадок и восстановление».

      Windows Server — как определить, какой контроллер домена аутентифицировал пользователя

      Нравится этот блог 1

      На этой неделе в классе возник вопрос, который мне задают довольно часто, когда я провожу занятия по Active Directory. Будь то класс администрирования Active Directory или класс расширенного проектирования, меня спрашивают: «У меня есть пользователь, который вошел в систему. Я не думаю, что они получили правильные настройки GPO, есть ли способ определить, какой контроллер домена аутентифицировал их?»

      Ответ: «Да!» Ты сможешь. Вот как.

      Попросите вошедшего в систему пользователя запустить командную строку на целевом компьютере. Введите Set Logonserver, и будет возвращено имя контроллера домена, который аутентифицировал пользователя. См. рисунок ниже.

      Использование echo %username% позволит вам создать сценарий для идентификации аутентифицирующего контроллера домена. См. рисунок ниже.

      Если вы просто хотите определить, с какого контроллера домена пользователь получил групповые политики, вы можете ввести gpresult /r. В возвращенных результатах будет указано имя контроллера домена, который предоставил вошедшему в систему пользователю объекты групповой политики. См. рисунок ниже.

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

      Читайте также:

      • Материнская плата включается
      • Что вызвало или способствовало использованию баз данных вместо плоских файлов
      • Ноутбук в спящем режиме не включается
      • Не могу войти ВКонтакте на свою страницу с компьютера
      • Как транслировать звук с компьютера на микрофон

      Определить на каком контроллере домена (Logon Server) вы аутентифицировались

      date

      05.03.2022

      user

      itpro

      directory

      Active Directory, Windows 10, Windows Server 2019

      comments

      Комментариев пока нет

      В некоторых случаях вам нужно определить на каком контроллере домена вы аутентифицированы (ваш logonserver). Это может пригодиться при проблемах с применением групповых политик, когда пользователи жалуются на медленный вход в систему. Пользователь может аутентифицироваться на неверном контроллере домена из-за того, что ближайший к нему DC не доступен, доступ к нему блокируется межсетевым экраном, неверной настройки подсетей и сайтов в Active Directory или проблемами с DNS. В результате пользователь может получать все GPO, скрипты, и т.д., не с ближайшего контроллера домена, а с любого другого DC. Это может привести к долгому применению GPO, медленной установке программ, медленной загрузки перемещаемых профилей или файлов в перенаправленных папках.

      Как узнать на каком контроллере домена вы залогинены?

      Вы можете узнать контроллер домена, через который вы выполнили вход в домен несколькими способами:

        • Из командной строки: set log
        LOGONSERVER=\\MSK-DC02
      • Из результатов команды: systeminfo | find /i “logon server”
      • Из переменного окружения: echo %logonserver%

    узнать контроллер домена, на котором аутентифицровался пользователь через powershell

    • Значение переменной окружения можно получить и с помощью PowerShell: $env:LOGONSERVER
    • В результатах команды gpresult /r:
    Group Policy was applied from: DC02

    gpresult - групповые политики применены с ИМЯ контроллера домена

  • Утилита nltest показывает контроллер домена, на котором аутентифицировался компьютер при загрузке (logon server пользователя и компьютера иногда могут отличаться). Nltest позволяет также проверить наличие доверительных отношений между компьютером и контроллером домена и имя сайта Active Directory, к которому относится DC (Dc Site Name): nltest /DSGETDC:winitpro.ru

Если вы вошли на компьютер под локальной учетной записью, то вместо имени контроллера домена в переменной LogonServer будет указано имя вашего компьютера.

Зная контроллер домена, можно различную информацию о пользователя из журналов безопасности DC (например, историю входов пользователя в домен и другие логи).

Можно автоматически записывать информацию, на каком контроллере домена авторизовался пользователь в описание компьютера в AD. Так можно узнать LogonServer для конкретного компьютера из AD, не обращаясь к конкретному компьютеру по сети или локально.

Как Windows определяет ближайший контроллер домена?

За определение LogonServer при загрузке Windows отвечает служба NetLogon. Она должны быть запущена:

Упрощенно процесс поиска контроллера домена клиентом Windows выглядит так:

  1. При загрузке Windows служба NetLogon делает DNS запрос за списком контроллеров домена (SVR записи _ldap._tcp.dc._msdcs.domain_ ;
  2. DNS возвращает список DC в домене;
  3. Клиент делает LDAP запрос к DC для определения сайта AD по-своему IP адресу;

ldap записи в DNS зоне сайта

  • DC возвращает сайт, которому соответствует IP клиента или наиболее близкий сайт (эта информация кэшируется в ветке реестра HKLM\System\CurrentControlSet\Services\Netlogon\Parameters и используется при следующем входе для более быстрого поиска);
  • Клиент через DNS запрашивает список контроллеров домена в сайте (в разделе _ tcp.sitename._sites. );
  • Windows пытается связаться со всеми DC в сайте и первый ответивший используется для выполнении аутентификации и в качестве LogonServer.
  • Вы можете переключить ваш компьютер на другой контроллер домена AD вручную с помощью команды:

    nltest сменить контроллер домена

    Flags: 30 HAS_IP HAS_TIMESERV Trusted DC Name \\MSK-DC02.winitpro.ru Trusted DC Connection Status Status = 0 0x0 NERR_Success The command completed successfully

    Если указанный DC не доступен, появится ошибка:

    I_NetLogonControl failed: Status = 1311 0x51f ERROR_NO_LOGON_SERVERS

    Если ни один из контроллеров домена не доступен, или компьютер отключен от сети, то при входе пользователя появится надпись:

    There are currently no logon servers available to service the logon request.

    Найти ближайший к вам контроллер домена согласно иерархии сайтов, подсетей и весов можно с помощью командлета Get-ADDomainController из модуля Active Directory для PowerShell:

    Get-ADDomainController -Discover -NextClosestSite

    Так вы сможете определить имя контроллера домена, через который должен аутентифицироваться компьютер. Если он отличается от текущего, нужно понять почему.

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

    Читайте далее в разделе Active Directory Windows 10 Windows Server 2019

    page

    page

    page

    Настройка двухфакторной аутентификации (2FA) в Windows с помощью MultiOTP

    Настройка перенаправления папок пользователей в AD с помощью GPO

    Как изменить имя (переименовать) домен Active Directory?

    Групповые политики: запуск скрипта только один раз

    Определить на каком контроллере домена (Logon Server) вы аутентифицировались

    date

    05.03.2022

    user

    itpro

    directory

    Active Directory, Windows 10, Windows Server 2019

    comments

    Комментариев пока нет

    В некоторых случаях вам нужно определить на каком контроллере домена вы аутентифицированы (ваш logonserver). Это может пригодиться при проблемах с применением групповых политик, когда пользователи жалуются на медленный вход в систему. Пользователь может аутентифицироваться на неверном контроллере домена из-за того, что ближайший к нему DC не доступен, доступ к нему блокируется межсетевым экраном, неверной настройки подсетей и сайтов в Active Directory или проблемами с DNS. В результате пользователь может получать все GPO, скрипты, и т.д., не с ближайшего контроллера домена, а с любого другого DC. Это может привести к долгому применению GPO, медленной установке программ, медленной загрузки перемещаемых профилей или файлов в перенаправленных папках.

    Как узнать на каком контроллере домена вы залогинены?

    Вы можете узнать контроллер домена, через который вы выполнили вход в домен несколькими способами:

      • Из командной строки: set log
      LOGONSERVER=\\MSK-DC02
    • Из результатов команды: systeminfo | find /i “logon server”
    • Из переменного окружения: echo %logonserver%

    узнать контроллер домена, на котором аутентифицровался пользователь через powershell

    • Значение переменной окружения можно получить и с помощью PowerShell: $env:LOGONSERVER
    • В результатах команды gpresult /r:
    Group Policy was applied from: DC02

    gpresult - групповые политики применены с ИМЯ контроллера домена

  • Утилита nltest показывает контроллер домена, на котором аутентифицировался компьютер при загрузке (logon server пользователя и компьютера иногда могут отличаться). Nltest позволяет также проверить наличие доверительных отношений между компьютером и контроллером домена и имя сайта Active Directory, к которому относится DC (Dc Site Name): nltest /DSGETDC:winitpro.ru
  • Если вы вошли на компьютер под локальной учетной записью, то вместо имени контроллера домена в переменной LogonServer будет указано имя вашего компьютера.

    Зная контроллер домена, можно различную информацию о пользователя из журналов безопасности DC (например, историю входов пользователя в домен и другие логи).

    Можно автоматически записывать информацию, на каком контроллере домена авторизовался пользователь в описание компьютера в AD. Так можно узнать LogonServer для конкретного компьютера из AD, не обращаясь к конкретному компьютеру по сети или локально.

    Как Windows определяет ближайший контроллер домена?

    За определение LogonServer при загрузке Windows отвечает служба NetLogon. Она должны быть запущена:

    Упрощенно процесс поиска контроллера домена клиентом Windows выглядит так:

    1. При загрузке Windows служба NetLogon делает DNS запрос за списком контроллеров домена (SVR записи _ldap._tcp.dc._msdcs.domain_ ;
    2. DNS возвращает список DC в домене;
    3. Клиент делает LDAP запрос к DC для определения сайта AD по-своему IP адресу;

    ldap записи в DNS зоне сайта

  • DC возвращает сайт, которому соответствует IP клиента или наиболее близкий сайт (эта информация кэшируется в ветке реестра HKLM\System\CurrentControlSet\Services\Netlogon\Parameters и используется при следующем входе для более быстрого поиска);
  • Клиент через DNS запрашивает список контроллеров домена в сайте (в разделе _ tcp.sitename._sites. );
  • Windows пытается связаться со всеми DC в сайте и первый ответивший используется для выполнении аутентификации и в качестве LogonServer.
  • Вы можете переключить ваш компьютер на другой контроллер домена AD вручную с помощью команды:

    nltest сменить контроллер домена

    Flags: 30 HAS_IP HAS_TIMESERV Trusted DC Name \\MSK-DC02.winitpro.ru Trusted DC Connection Status Status = 0 0x0 NERR_Success The command completed successfully

    Если указанный DC не доступен, появится ошибка:

    I_NetLogonControl failed: Status = 1311 0x51f ERROR_NO_LOGON_SERVERS

    Если ни один из контроллеров домена не доступен, или компьютер отключен от сети, то при входе пользователя появится надпись:

    There are currently no logon servers available to service the logon request.

    Найти ближайший к вам контроллер домена согласно иерархии сайтов, подсетей и весов можно с помощью командлета Get-ADDomainController из модуля Active Directory для PowerShell:

    Get-ADDomainController -Discover -NextClosestSite

    Так вы сможете определить имя контроллера домена, через который должен аутентифицироваться компьютер. Если он отличается от текущего, нужно понять почему.

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

    Читайте далее в разделе Active Directory Windows 10 Windows Server 2019

    page

    page

    page

    Настройка двухфакторной аутентификации (2FA) в Windows с помощью MultiOTP

    Настройка перенаправления папок пользователей в AD с помощью GPO

    Как изменить имя (переименовать) домен Active Directory?

    Групповые политики: запуск скрипта только один раз

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

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