Pregunta Buscar el nombre del controlador de dominio de Active Directory


¿Cómo puedo averiguar el nombre / la dirección IP del controlador de dominio de AD en mi red?


110
2017-10-25 14:02


origen


DNS debe estar allí exactamente para este propósito. support.microsoft.com/kb/816587/en-us  petri.co.il/active_directory_srv_records.htm - Massimo
Muy corto y dulce responder de un hilo relacionado en SO - RBT


Respuestas:


En cualquier computadora que tenga configurado el DNS para usar el servidor DNS de AD:

  • Inicio -> Ejecutar -> nslookup 

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

Reemplazar NOMBRE DE DOMINIO con el nombre de dominio real, p. example.com. Lee mas aquí.


132
2017-10-25 14:31



En la respuesta anterior, al ingresar set type = all (en nslookup) le permite ver los registros SRV de DNS. También podría haber escrito "set type = SRV", los registros SRV son la forma en que AD se anuncia en la red. - Les
Corrí esto y me puse _ldap._tcp.dc._msdcs.UnKnown. Que hace Desconocido ¿media? - jp2code


Para una computadora que es miembro de un dominio, la variable de entorno LOGONSERVER contiene el nombre del DC que autentificó al usuario actual. Obviamente, esto no será todo el DC en un entorno de varios DC, pero si lo único que quiere es una forma rápida de encontrar el nombre de un Controlador de Dominio desde un shell de comandos:

set l <enter>

Devolverá todas las variables de entorno que comiencen con "L", incluido el nombre de un controlador de dominio.


59
2017-10-25 15:00



+1 por simplicidad. Después de obtener el nombre del DC, solo haga ping para obtener la IP. - Bigbio2002
simple sí, pero si tiene una conexión VPN a la red que le interesa, LOGONSERVER no le ofrece eso. La respuesta aceptada le dará el servidor correcto en todos los casos que se me ocurran. - Les
No es perfecto, pero a veces también es importante saber cómo hacer algo que sea lo suficientemente bueno rápidamente. También falla para los inicios de sesión locales, pero nunca lo revisé a través de VPN, es bueno saberlo, gracias. - Helvick


Una opción no mencionada, súper fácil y rápida es ejecutar esto desde un símbolo del sistema:

nltest /dclist:domainname

Simplemente reemplaza 'nombre de dominio' con tu dominio

También puede ejecutar algunas otras opciones para obtener más información:

/dcname:domainname obtiene el nombre de PDC para el dominio /dsgetdc:domainname tiene banderas para otra información

Tratar nltest /? en su mensaje para obtener más opciones! :)


25
2017-09-02 20:59



C:\> nltest /dclist:domainname Cannot find DC to get DC list from.Status = 1355 0x54b ERROR_NO_SUCH_DOMAIN The command completed successfully   Qué significa eso? - jp2code
Reemplace el nombre de dominio con el nombre de su dominio - Abraxas
Oh. Eso es lo que pensé que iba a encontrar para mí. - jp2code


Esto devolverá su controlador de dominio más cercano en Powershell:

Import-Module ActiveDirectory
(Get-ADDomainController -DomainName <Domain FQDN> -Discover -NextClosestSite).HostName

19
2018-01-08 22:46





Desde un símbolo del sistema, ejecute gpresult. Conseguirás:

  • Estación de trabajo general e información de dominio.
  • Tanto para el computadora y el usuario:
    • Nombre distinguido en AD y en qué DC se aplicó la política desde
    • Objetos de política de grupo aplicados
    • Lista de grupos de seguridad de un miembro de

Aquí está salida de ejemplo de ejecución gpresult. También puede especificar gpresult /z para obtener información más detallada.


17
2018-01-04 02:53



Guau, gpresult /Z produce una gran cantidad de datos. Gracias. - friederbluemle


DNS y DHCP son la mejor manera de verificar, ya que puede haber máquinas Unix / Linux en la red administradas por el controlador de dominio de AD o que actúan como controlador de dominio.

Además, considerar el directorio activo no es más que la versión de Microsoft de Kerberos, LDAP, dhcp y dns. Sería mejor entender y depurar las cosas en capas más bajas que en la capa 7+. Esto se debe a que el sistema operativo realizaría estas mismas solicitudes y el RFC subyacente para cada protocolo realmente opera a un nivel OSI, no al nivel de "insertar herramienta favorita aquí".

Uno puede ir un paso más allá y consultar el dhcp para las opciones 6, 15 y 44 para obtener el nombre de dominio, servidor de nombres de dominioy Wins / servidor de nombres NetBIOS.

Luego, utilizando dns para comprobar los registros SRV _kerberos._tcp, _kpasswd._tcp, _LDAP._TCP.dc._msdcs y _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

Esto se divide en tres áreas, dos son registros DNS-SD soportados por protocolo:

  • _kerberos._tcp y _kpasswd._tcp (también bajo UNIX / Linux / OSX + algunas redes de Windows han _kadmin._tcp) son para kerberos
  • _ldap._tcp es para ldap (openldap, opendc, sun / oracle directory, ms ad) _LDAP._TCP.dc._msdcs es la única extensión de Microsoft a ldap para asignar el controlador de dominio.

7
2017-09-01 16:17





CMD crudo

Solo encuentra nombres de DC

Guardar como GetDcNames.cmd:

nslookup -type=any %userdnsdomain%.

Correr como: GetDcNames.cmd.

(Nota: el punto final en "% userdnsdomain%." Está a propósito. Evita que su nslookup local use cualquier cadena de ruta de búsqueda de DNS).

Encuentra más dominios DNS relacionados con AD

Preparé un archivo por lotes rápido y sucio para no tener que recordar los nombres de dominio DNS y / o escribirlos todos. (La lista puede no estar completa.)

Trabaja desde dominio de máquinas unidas. Si su máquina no está unida al dominio, entonces debe configurar manualmente USERDNSDOMAIN a lo que desee.

Guardar 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%.

Correr como TestAdDnsRecords.cmd | more. Hay una gran cantidad de salida de texto.

Fuentes


0
2017-10-27 10:01