Найдите название Контроллера доменов Active Directory

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

/usr/bin/jing -c /usr/share/YaST2/schema/autoyast/rnc/profile.rnc autoyast.xml
129
задан 25 October 2009 в 16:02
9 ответов

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

  • Запустите-> Выполненный-> nslookup

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

Замените DOMAIN_NAME фактическим доменным именем, например, example.com. Читайте больше здесь.

148
ответ дан 28 November 2019 в 19:18

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

set l <enter>

Возвратит все Переменные среды, которые запускаются с "L" включая название DC.

65
ответ дан 28 November 2019 в 19:18

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

Import-Module ActiveDirectory
(Get-ADDomainController -DomainName <Domain FQDN> -Discover -NextClosestSite).HostName
21
ответ дан 28 November 2019 в 19:18

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

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

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

17
ответ дан 28 November 2019 в 19:18

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

nltest /dclist:domainname

Просто замените 'domainname' своим доменом

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

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

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

36
ответ дан 28 November 2019 в 19:18

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

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

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

Затем, используя DNS, проверьте наличие SRV-записи _kerberos._tcp, _kpasswd._tcp, _LDAP._TCP.dc._msdcs и _ldap._tcp:

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 для сопоставления контроллера домена.
10
ответ дан 28 November 2019 в 19:18

Необработанный CMD

Просто найдите имена контроллеров домена

Сохранить как 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 | подробнее . Выводится много текста.

Источники

2
ответ дан 28 November 2019 в 19:18

Перейдите в командную строку и введите «net time» — она выведет вам имя контроллера домена вместе со временем. Пример — «Текущее время в \{DCName}: {время}.

0
ответ дан 22 January 2021 в 09:24

Если у вас просто есть доступ к DNS, вы можете получить список всех контроллеров домена с помощью следующего запроса в PowerShell:

Resolve-DnsName -Name _ldap._tcp.dc._msdcs.<YOU_DOMAIN> -Type SRV

Это может сделать любой пользователь с доступом к DNS.

0
ответ дан 9 September 2021 в 07:50

Теги

Похожие вопросы