Вопрос или проблема
Для Linux эта команда должна вернуть DNS-запись для сервера LDAP
host -t srv _ldap._tcp.DOMAINNAME
(найдено на Аутентификация из Java (Linux) к Active Directory с использованием LDAP БЕЗ имени сервера)
Как я мог бы сделать то же самое в командной строке Windows, используя nslookup?
Я пробовал
nslookup -type srv _ldap._tcp.DOMAINNAME
(согласно http://support.microsoft.com/kb/200525), будет ли это правильно?
Вам нужно использовать =
после -type
:
nslookup -type=srv _ldap._tcp.DOMAINNAME
Замените DOMAINNAME
на фактическое имя домена.
В командной оболочке cmd:
nslookup -type=all _ldap._tcp
Ничто из вышеперечисленного не сработало для меня, я каждый раз получал ошибку вроде этой (я пробовал со всеми комбинациями, которые могу придумать с именами доменов):
*** Unknown не может найти _ldap._tcp: Не существующий домен
Поэтому еще один поиск в Google указал на этот метод:
nltest /dclist:yourdomain.com
И это дает мне список различных серверов в моей сети. Надеюсь, это сэкономит дополнительные 2 минуты для кого-то другого.
Используйте Nslookup для проверки SRV-записей, выполните следующие шаги:
-
Нажмите «Пуск», затем нажмите «Выполнить».
-
В поле «Открыть» введите cmd.
-
Введите nslookup, затем нажмите ENTER.
-
Введите set type=all, затем нажмите ENTER.
-
Введите _ldap._tcp.dc._msdcs.Domain_Name, где Domain_Name — это имя вашего домена, затем нажмите ENTER.
Get-ADDomainController
перечислит ваши контроллеры домена из домена. Если вы хотите проверить это из другого домена, используйте переключатель -server
.
get-addomaincontroller -server "domain"
Командная подсистема Windows использует “query” вместо “type” по какой-то заброшенной причине. Интерактивный nslookup по-прежнему использует “set type=srv”.
nslookup -query=srv _ldap._tcp.DOMAINNAME
EDIT: хотя “query” работает, похоже, что я на 100% ошибаюсь. “type” тоже работает.
“nslookup -query=srv _ldap._tcp.DOMAINNAME” сработал для меня, пробовал nslookup -type=srv _ldap._tcp.DOMAINNAME и не сработал.
Server 2008 R2
Ответ или решение
Для того чтобы найти LDAP-сервер в DNS на Windows, вы можете воспользоваться утилитой командной строки nslookup. Ниже приведены шаги и объяснения, которые помогут вам успешно выполнить эту задачу.
1. Открытие командной строки
Сначала вам нужно открыть командную строку Windows:
- Нажмите сочетание клавиш
Win + R
, введитеcmd
и нажмитеEnter
.
2. Использование утилиты nslookup
Теперь, чтобы получить запись SRV для LDAP-сервера, вы можете использовать следующие команды:
Команда для получения SRV-записей LDAP
Используйте следующую команду для получения SRV-записи:
nslookup -query=srv _ldap._tcp.DOMAINNAME
Здесь замените DOMAINNAME
на фактическое имя вашего домена.
3. Альтернативный способ через проверку всех записей
Если первая команда не сработала, вы можете попробовать запросить все записи для LDAP:
nslookup
set type=all
_ldap._tcp.dc._msdcs.DOMAINNAME
В этом случае замените DOMAINNAME
на имя вашего домена. Этот метод позволяет получить более полное представление о всех записях, связанных с вашим доменом.
4. Использование nltest для получения списка контроллеров домена
Если nslookup не дает результатов, вы можете использовать команду nltest
, которая выводит список всех контроллеров домена:
nltest /dclist:вашдомен.com
5. Проверка на правильность
Если вы по-прежнему не можете получить SRV-записи, убедитесь, что указанный вами домен действительно существует и что записи SRV корректно созданы в DNS. Вы также можете проверить справочные записи DNS через интерфейс DNS Manager.
Заключение
Использование утилиты nslookup — это эффективный способ найти LDAP-сервер в DNS на Windows. Приведенные методы варьируются от простых команд до более сложных, и предоставляют гибкость в зависимости от ваших потребностей и конфигурации сети.
Если у вас возникли дополнительные сложности, возможно, стоит обратиться к вашему администратору сети или проверить настройки DNS.