Как я могу узнать, на каком контроллере домена я аутентифицировался?

Ответы:

95

Вы можете найти это с помощью следующей команды:

echo %LOGONSERVER%

И вам не нужно быть администратором или poweruser, чтобы использовать его. Посмотрите на вывод этой команды:

set
Shadok
источник
2
К вашему сведению: у Powershell, похоже, не было этой переменной. Мне пришлось запустить его из основной командной оболочки.
Кристиан Бонджорно
Это не работает, когда вы вошли в систему как локальный пользователь, и вас интересует, как компьютер проходит проверку подлинности в домене. Для этого см. Другой ответ со ссылкой nltest.
wfaulk
Примечание, здесь вы получите свой зарегистрированный пользовательский контроллер. Не контроллер домена компьютера.
Leiflundgren
1
@ChristianBongiorno Работает с powershell: это простой вызов переменной окружения. С ЦМД, эти звонки сделаны %variable%, в Powershell вам нужен другой синтаксис: $env:variable. Поэтому в этом случае введите Powershell: $env:Logonserverи вы получите тот же результат.
Тобиас
47

Чтобы определить DC компьютера / сервера, используйте NLTEST:

nltest /dsgetdc:<domain_name> 

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

nltest /dclist:<domain_name>

Вам не нужно использовать полное доменное имя доменного имени или сервера - например, вместо того, чтобы сказать /dclist:services.microsoft.com, вы можете просто напечатать /dclist:services(конечно, если вы являетесь аутентифицированным членом этого домена).

Для аутентификации пользователя и групповой политики используйте переменную LOGONSERVER:

echo %logonserver%
Майкл Нокс
источник
nltestбыл гораздо более надежным для меня, потому LOGONSERVERчто не работал, когда пришел RDP
ZoolWay
4

set lответит переменными как для, так localappdataи для logonserver. Тем не менее, logonserverэто единственная переменная, которая вас интересует, и та, которая сообщит вам имя контроллера домена, с которым вы аутентифицировались.

Чтобы получить только информацию о сервере входа в систему, введите set log(это просто сокращение от set logonserver). Имя контроллера домена, с которым вы аутентифицировались, будет возвращено.

Ноэль
источник
3

Это только ответ на ваш вопрос, если у вас есть Outlook:

Я нашел интересную функцию в Outlook. Если удерживать клавишу Ctrl и щелкнуть правой кнопкой мыши значок на панели задач, а затем щелкнуть состояние подключения, отобразится сервер обмена, к которому вы подключены, а также контроллер домена, к которому вы подключены. Я обнаружил, что один отвечает на другой вопрос о соединениях Exchange, отличный способ перерабатывать ответы ...

Supercereal
источник
Где я получил эту информацию: superuser.com/questions/304461/…
Supercereal
Это не совсем правильно. В редкой ситуации, когда у вас есть 2 DC на сайте для РАЗЛИЧНЫХ доменов, которые оба принадлежат одному лесу и оба несут службы Справочника, возможно, что вы проходите аутентификацию на своих собственных доменах DC, в то время как Outlook использует другой DC для служб каталогов , Я видел, как это произошло. Вызывает много горя, потому что добавление делегатов в Outlook не работает должным образом, если ваш DC входа в систему и сервер каталогов, используемый Outlook, не находятся в одном домене.
Тонни
1
Я согласен, что это менее чем надежно для вопроса ОП, но это все еще полезная информация. Спасибо!
Jpaugh
1

set L перечисляет все переменные окружения, которые начинаются с буквы L

Erwin
источник
1
Не могли бы вы объяснить, что это делает?
Soandos
Похоже, в нем перечислены все переменные, начинающиеся с буквы L. Попробуйте, set aнапример,.
Питер Ярич
1

Powershell обеспечивает (без параметров):

Get-ADDomainController

Или конкретно:

(Get-ADDomainController).HostName
rupert160
источник