我可以使用命令从 Windows 计算机找到 PDC(主域控制器)nltest /dcname:MYDOMAIN
。
我需要从 Linux 计算机找到 PCD。有办法吗?
我的脚本将拥有的唯一信息是域名和用户名。
背景(出于好奇/完整性):我正在自动化一些密码管理程序,到目前为止,我可以处理所有 ftp、ssh 和数据库密码。现在我已经设法维护了 AD 用户,但我必须在从我的 Windows 机器上查找 PDC 后自己提供它们 - 我想只提供域,让我的脚本完成其余工作,包括 PDC 查找。
Lenniey 给出的答案非常完美,解决了我的问题;作为完整的参考,我进一步研究了这个问题,发现以下网站对有类似需求的人很有用:
Active Directory 正常运行所需的 DNS 记录
使用命令行查找域名
答案1
您可以使用
nslookup -q=SRV _ldap._tcp.pdc._msdcs.domain.tld
然后使用awk
来格式化输出,例如:
nslookup -q=SRV _ldap._tcp.pdc._msdcs.domain.tld | grep _ldap | awk '{print $7}'
(它并不漂亮,但您可以根据您的用例对其进行改进)。
答案2
该adcli
命令也将提供此功能。(它在 Ubuntu 软件包中可用adcli
。)
跑步
$ adcli info your.domain
输出提供各种详细信息,包括域控制器。
你可以得到只是域控制器主机名,删除其他所有内容:
$ adcli info your.domain | grep -oP '^domain-controller = \K.*'