如何find我的networking上AD域控制器的名称/ IP地址?
在configuration为使用AD的DNS服务器的DNS的任何计算机上执行:
Start -> Run -> nslookup set type=all _ldap._tcp.dc._msdcs.DOMAIN_NAME
将DOMAIN_NAMEreplace为实际的域名即contoso.com 。 在这里阅读更多。
对于属于域成员的计算机,环境variablesLOGONSERVER包含对当前用户进行身份validation的DC的名称。 这显然不会是多DC环境中的所有DC,但是如果您只是想快速find域控制器的名称,则可以通过命令shell执行:
set l <enter>
将返回以“L”开头的所有环境variables,包括DC的名称。
这将返回Powershell中最接近的域控制器:
Import-Module ActiveDirectory (Get-ADDomainController -DomainName <Domain FQDN> -Discover -NextClosestSite).HostName
从命令提示符运行gpresult
。 你会得到:
这里是运行gpresult
输出示例 。 你也可以指定gpresult /z
来获得更详细的信息。
一个未提及的,超级简单和快速的选项是从命令提示符下运行:
nltest /dclist:domainname
只需将您的域名replace为“域名”
您还可以运行其他一些选项来了解更多信息:
/dcname:domainname
获取域/dsgetdc:domainname
的PDC名称/dsgetdc:domainname
具有其他信息的标志
试试nltest /?
在你的提示下获得更多的select! 🙂
DNS和DHCP是检查的最好方法,因为在AD域控制器pipe理的networking上可以有Unix / Linux计算机,或者充当域控制器。
另外,考虑到活动目录不过是微软的Kerberos,LDAP,dhcp和dns版本。 理解和debugging比第7层更低层的东西会更好。 这是因为操作系统会执行这些相同的请求,并且每个协议的下划线RFC实际上在OSI级别上运行,而不是“在此插入最喜欢的工具”级别。
可以更进一步,向dhcp查询选项6,15和44以获取域名 , 域名服务器和Wins / NetBIOS名称服务器 。
然后使用dns检查_kerberos._tcp,_kpasswd._tcp,_LDAP._TCP.dc._msdcs和_ldap._tcp SRVlogging:
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-SDlogging:
_kerberos._tcp
和_kpasswd._tcp
(也在UNIX / Linux / OSX +某些windowsnetworking上有_kadmin._tcp
)用于_kadmin._tcp
_ldap._tcp
是用于ldap(openldap,opendc,sun / oracle目录,ms ad) _LDAP._TCP.dc._msdcs
是微软唯一的ldap映射域控制器的扩展。 另存为GetDcNames.cmd
:
nslookup -type=any %userdnsdomain%.
运行方式为: GetDcNames.cmd
。
(注意:“%userdnsdomain%。”中的尾部点是故意的,它会阻止本地nslookup使用任何DNSsearchpathstring。)
我掀起了一个快速和肮脏的batch file,所以我不必记住的DNS域名和/或必须input所有。 (列表可能不完整。)
从域join的机器工作。 如果您的计算机未join域,则必须手动将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
运行 TestAdDnsRecords.cmd | more
。 有很多文本输出。