Вопрос: Найти имя контроллера домена Active Directory


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


109
2017-10-25 14:02


Источник


DNS должен быть там именно для этой цели. support.microsoft.com/kb/816587/en-us  petri.co.il/active_directory_srv_records.htm - Massimo
Очень короткий и сладкий ответ из связанной нити на SO - RBT


Ответы:


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

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

    set type=all
    _ldap._tcp.dc._msdcs.DOMAIN_NAME
    

замещать ДОМЕННОЕ ИМЯ с фактическим именем домена, например. example.com, Прочитайте больше Вот,


129
2017-10-25 14:31



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


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

set l <enter>

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


59
2017-10-25 15:00



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


Неизбежный, супер простой и быстрый вариант - запустить это из командной строки:

nltest /dclist:domainname

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

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

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

Пытаться nltest /? в вашем приглашении получить больше вариантов! :)


22
2017-09-02 20:59



C:\> nltest /dclist:domainname Cannot find DC to get DC list from.Status = 1355 0x54b ERROR_NO_SUCH_DOMAIN The command completed successfully   Что это значит? - jp2code
Замените имя домена на имя вашего домена - Abraxas
Ой. Это то, что я думал, что это найдет для меня. - jp2code


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

Import-Module ActiveDirectory
(Get-ADDomainController -DomainName <Domain FQDN> -Discover -NextClosestSite).HostName

19
2018-01-08 22:46





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

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

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


17
2018-01-04 02:53



Вау, gpresult /Z выводит много данных. Благодарю. - friederbluemle


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:

nslookup -type=srv _kerberos._tcp.EXMAPLE.COM
nslookup -type=srv _kpasswd._tcp.EXAMPLE.COM
nslookup -type=srv _ldap._tcp.EXAMPLE.COM
nslookup -type=srv _ldap._tcp.dc._msdcs.EXAMPLE.COM

.EXAMPLE.COM ::= value returned from dhcp option-1

Это разбивается на три области: две поддерживаемые протоколом записи 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 для сопоставления контроллера домена.

6
2017-09-01 16:17





Crude CMD

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

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

nslookup -type=any %userdnsdomain%.

Беги как: GetDcNames.cmd,

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

Найти доменные имена DNS, связанные с AD

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

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

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

@setlocal
@REM Test AD DNS domains for presence.
@REM For details see: http://serverfault.com/a/811622/253701

nslookup -type=srv _kerberos._tcp.%userdnsdomain%.
nslookup -type=srv _kerberos._udp.%userdnsdomain%.
@echo .

nslookup -type=srv _kpasswd._tcp.%userdnsdomain%.
nslookup -type=srv _kpasswd._udp.%userdnsdomain%.
@echo .

nslookup -type=srv _ldap._tcp.%userdnsdomain%.
@echo .

nslookup -type=srv _ldap._tcp.dc._msdcs.%userdnsdomain%.
@echo .

nslookup -type=srv _ldap._tcp.pdc._msdcs.%userdnsdomain%.
@echo .

@REM Those next few lines here are forest specific:
@REM Change the next line your current domain is not also the forest root.
@SET "DNSFORESTNAME=%USERDNSDOMAIN%"

nslookup -type=srv _ldap._tcp.gc._msdcs.%DNSFORESTNAME%.
@echo .

nslookup -type=srv _gc._tcp.%DNSFORESTNAME%.

Беги как TestAdDnsRecords.cmd | more, Существует много текстового вывода.

источники


0
2017-10-27 10:01