查找Active Directory域控制器的名称

如何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 。 你会得到:

    • 一般工作站和域信息
    • 对于计算机用户
      • AD中的杰出名称以及应用该策略的DC
      • 应用组策略对象
      • 安全组的成员列表

    这里是运行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映射域控制器的扩展。

    粗CMD

    只要findDC名称

    另存为GetDcNames.cmd

     nslookup -type=any %userdnsdomain%. 

    运行方式为: GetDcNames.cmd

    (注意:“%userdnsdomain%。”中的尾部点是故意的,它会阻止本地nslookup使用任何DNSsearchpathstring。)

    查找更多与AD相关的DNS域

    我掀起了一个快速和肮脏的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 。 有很多文本输出。

    来源

    • MSDN“ServerGeeks”博客,2014-07-12,Habibar Rahman, Active Directory正常function所需的DNSlogging (已在此处存档)。
    • TechNet, 资源工具包>分布式系统指南>桌面configurationpipe理> Active Directory> Active Directory中的名称parsing>查找Active Directory服务器> SRV资源logging (已在此处存档)。