Localizar nome do controlador de domínio do Active Directory

114

Como posso descobrir o nome / endereço IP do controlador de domínio do AD na minha rede?

    
por user18682 25.10.2009 / 15:02

7 respostas

135

Em qualquer computador que tenha DNS configurado para usar o servidor DNS do AD, faça o seguinte:

  • Iniciar - > Executar - > nslookup

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

Substitua DOMAIN_NAME pelo nome real do domínio. example.com . Leia mais aqui .

    
por 25.10.2009 / 15:31
60

Para um computador que é membro de um domínio, a variável de ambiente LOGONSERVER contém o nome do DC que autenticou o usuário atual. Obviamente, isso não será tudo em um ambiente com vários CDs, mas se tudo o que você quiser é uma maneira rápida de encontrar o nome de um controlador de domínio a partir de um shell de comando:

set l <enter>

Irá retornar todas as variáveis do ambiente que começam com "L" incluindo o nome de um controlador de domínio.

    
por 25.10.2009 / 16:00
26

Uma opção não mencionada, super fácil e rápida é executar isso a partir de um prompt de comando:

nltest /dclist:domainname

Basta substituir "domainname" por seu domínio

Você também pode executar outras opções para descobrir mais:

/dcname:domainname obtém o nome do PDC para o domínio /dsgetdc:domainname tem sinalizadores para outras informações

Tente nltest /? no seu prompt para obter mais opções! :)

    
por 02.09.2015 / 22:59
19

Isso retornará seu controlador de domínio mais próximo no Powershell:

Import-Module ActiveDirectory
(Get-ADDomainController -DomainName <Domain FQDN> -Discover -NextClosestSite).HostName
    
por 08.01.2013 / 23:46
17

Em um prompt de comando, execute gpresult . Você vai ter:

  • Informações gerais sobre estações de trabalho e domínios
  • Para o computador e o usuário :
    • Nome diferenciado no AD e em que DC a política foi aplicada a partir de
    • Objetos de política de grupo aplicados
    • Lista de grupos de segurança de um membro

Aqui está uma saída de exemplo de execução gpresult . Você também pode especificar gpresult /z para obter informações mais detalhadas.

    
por 04.01.2013 / 03:53
7

DNS e DHCP são a melhor maneira de verificar, pois pode haver máquinas Unix / Linux na rede gerenciada pelo controlador de domínio do AD ou atuando como o controlador de domínio.

Além disso, considerar o diretório ativo nada mais é do que a versão do Kerberos, LDAP, dhcp e dns da Microsoft. Seria melhor entender e depurar as coisas em camadas inferiores à camada 7+. Isso ocorre porque o sistema operacional pré-formaria essas mesmas solicitações e o RFC de sublinhado para cada protocolo realmente opera em um nível OSI e não no nível "insira a ferramenta favorita aqui".

É possível ir mais além e consultar o dhcp em busca das opções 6, 15 e 44 para obter o nome de domínio , servidor de nomes de domínio e Servidor de nomes NetWare / Wins .

Em seguida, use o dns para verificar os registros SRV _kerberos._tcp, _kpasswd._tcp, _LDAP._TCP.dc._msdcs e _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

Isso se divide em três áreas, duas são registros DNS-SD suportados por protocolo:

  • _kerberos._tcp e _kpasswd._tcp (também em UNIX / Linux / OSX + algumas redes windows tem _kadmin._tcp ) são para kerberos
  • _ldap._tcp é para o ldap (openldap, opendc, diretório sun / oracle, ms ad) _LDAP._TCP.dc._msdcs é a única extensão da Microsoft para o ldap para mapear o controlador de domínio.
por 01.09.2015 / 18:17
0

CMD bruta

Basta encontrar nomes de DC

Salvar como GetDcNames.cmd :

nslookup -type=any %userdnsdomain%.

Executar como: GetDcNames.cmd .

(Nota: O ponto final em "% userdnsdomain%." é proposital. Ele impede que o seu nslookup local use qualquer seqüência de caminho de pesquisa DNS.)

Encontre mais domínios DNS relacionados ao AD

Eu preparei um arquivo de lote rápido e sujo, para não precisar lembrar os nomes de domínio DNS e / ou digitar todos eles. (A lista pode não estar completa.)

Funciona de máquinas associadas ao domínio. Se sua máquina não for associada a um domínio, você deverá definir manualmente USERDNSDOMAIN como quiser.

Salvar como 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%.

Executar como TestAdDnsRecords.cmd | more . Há muita saída de texto.

Fontes

por 27.10.2016 / 12:01