Поиск по сайту:

Найдите контроллер домена (сервер входа в систему), на котором вы прошли аутентификацию


Иногда вам может потребоваться узнать, на каком контроллере домена аутентифицирован ваш компьютер (ваш

Logon Server

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

Как определить, на каком контроллере домена аутентифицирован компьютер?

Вы можете определить контроллер домена, на котором вы вошли в систему, используя некоторые методы:

  • С помощью командной строки:

    set log

    LOGONSERVER=\\MUN-DC02
  • В выводе следующей команды:

    systeminfo | find /i "logon server"

  • Из переменной среды:

    echo %logonserver%
  • Вы также можете получить значение переменной среды с помощью PowerShell:

    $env:LOGONSERVER

  • В выводе команды

    gpresult /r

    команда:

    Group Policy was applied from: MUN-DC02

  • Инструмент nltest показывает контроллер домена, на котором прошел аутентификацию компьютер (серверы входа пользователя и компьютера иногда могут различаться). Nltest также позволяет проверить доверительные отношения между компьютером и контроллером домена и показывает имя сайта Active Directory, которому принадлежит контроллер домена (имя сайта Dc):

    nltest /DSGETDC:active-directory.ru

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

LogonServer

переменная.

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

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

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

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

get-service netlogon

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

  1. NetLogon отправляет DNS-запрос для получения списка контроллеров домена (SVR).

    _ldap._tcp.dc._msdcs.domain_ 

    ) при загрузке Windows;

  2. DNS возвращает список контроллеров домена в домене;

  3. Клиент отправляет запрос LDAP на контроллер домена, чтобы получить сайт AD по его IP-адресу;

  4. DC возвращает сайт AD, соответствующий IP-адресу клиента, или ближайший сайт (эта информация кэшируется в реестре:

    HKLM\System\CurrentControlSet\Services\Netlogon\Parameters

    и используется при следующем входе в систему для более быстрого поиска);

  5. Клиент запрашивает список контроллеров домена на целевом сайте через DNS (в разделе

     _ tcp.sitename._sites..

    .);

  6. Windows отправляет запросы всем контроллерам домена на сайте AD, и первый ответивший используется в качестве LogonServer для выполнения аутентификации.

Вы можете переключить свой компьютер на другой сервер входа (контроллер домена AD) вручную с помощью команды:

nltest /SC_RESET:WOSHUB\MUN-DC02.active-directory.ru

Flags: 30 HAS_IP HAS_TIMESERV
Trusted DC Name \\MUN-DC02.active-directory.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

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

Статьи по данной тематике