En este tutorial, le mostraré cómo usar la utilidad de línea de comandos Dcdiag para verificar el estado de un controlador de dominio.
También le mostraré cómo usar Dcdiag para verificar DNS.
Asegúrese de consultar la sección de ejemplos a continuación y le mostraré el resultado de un controlador de dominio regular y un controlador de dominio que tiene problemas.
Buceemos ahora mismo.
- ¿Qué es Dcdiag?
- Cómo instalar Dcdiag
- Cómo usar Dcdiag (ejemplos)
- Videotutorial
- Ejemplo 1: use / s para ejecutar en un servidor remoto
- Ejemplo 2: Use / v para mostrar más información
- Ejemplo 3: Use / f para guardar en un archivo de registro
- Ejemplo 4: Use / a para trabajar con todos los controladores de dominio
- Ejemplo 5: Use / q solo para mostrar errores
- Ejemplo 6: usar varios interruptores (mi favorito)
- Cómo verificar DNS usando DCDiag
- Ejemplo: falla del servicio kdc y el servicio NETLOGON
- Automatice las comprobaciones de estado de AD
¿Qué es Dcdiag?
Dcdiag es una utilidad de línea de comandos de Microsoft Windows que puede analizar el estado de los controladores de dominio en el bosque o la empresa. Puede optar por analizar un controlador de dominio o todos los controladores de dominio del bosque.
¿Se imagina lo bien que la utilidad de línea de comandos realmente maneja las pruebas y la solución de problemas de los controladores de dominio?
Bueno, en realidad hace un muy buen trabajo! Me sorprendió saber cuántas pruebas diferentes realizó este equipo.
Conté un total de 30 pruebas diferentes, y algunas pruebas tenían varias pruebas.
Entonces, ¿qué hace realmente Dcdiag? ¿Qué tipo de pruebas realiza?
Puede ver la lista de pruebas en el comando del menú de ayuda, ejecute dcdiag /? para ver el menú de ayuda.
Tengo que admitir que las descripciones del equipo de ayuda no son muy útiles. Encontré una buena publicación en el blog de Ned Pyle Qué hace realmente DCDiag que explica cada prueba con más detalle. Si se pregunta qué hace exactamente el equipo de Dcdiag, lo animo a leer esta publicación.
Cómo instalar Dcdiag
Es muy probable que ya tenga instalada la herramienta Dcdiag.
Si tiene instalada la función AD DS, Dcdiag ya está instalada. Si tiene instaladas Herramientas de administración remota del servidor (RSAT), ya tiene Dcdiag instalado.
Si desea instalarlo en un sistema que no tiene ninguno de ellos, puede descargar la herramienta desde aquí e instálelo en Windows XP o posterior (esperemos que todavía no tenga XP ejecutándose).
Cómo usar Dcdiag (ejemplos)
DCDiag es muy fácil de usar.
Hay varios modificadores de línea de comando diferentes que puede usar con Dcdiag para verlos todos, use este comando dcdiag /?
Aquí hay una descripción general de los interruptores que usaré en los ejemplos a continuación.
/ s: el conmutador dcname se utiliza para ejecutar Dcdiag en un servidor remoto
/v: El interruptor imprime más información sobre cada prueba
/ c: cambiar significa completo, realizará todas las pruebas, incluida la prueba de DNS.
/ q: El conmutador solo imprimirá errores. Esto es útil porque dcdiag puede mostrar mucha información, si solo desea ver errores, use este interruptor.
/f: El conmutador se utiliza para redirigir los resultados a un archivo.
PROPINA: Cuando ejecute dcdiag, probablemente informará algunos errores, pero eso no significa necesariamente que tenga problemas con los controladores de dominio. Por ejemplo, el comando consultará los registros del sistema en DC y mostrará los registros de errores, pero estos pueden ser errores de un ordenador u otro servidor. Nuevamente, esto puede no ser un problema de DC. Solo necesita considerar y determinar si está relacionado o no.
Videotutorial

Si no le gustan los tutoriales en video o desea obtener más información, siga leyendo las instrucciones a continuación.
Ejemplo 1: use / s para ejecutar en un servidor remoto
Esto realizará todas las pruebas de DC contra el servidor DC1 remoto.
dcdiag /s:DC1
Para ejecutar esto en un servidor local, simplemente apague / s: nombre del servidor
Ejemplo 2: Use / v para mostrar más información
Un interruptor adicional mostrará información adicional. Hace las mismas pruebas que el primer ejemplo, solo muestra más detalles sobre cada prueba.
dcdiag /s:DC1 /v
Ejemplo 3: Use / f para guardar en un archivo de registro
Usando / f, puede guardar los resultados en un archivo de texto. Esto es excelente para registrar los resultados y verlos más tarde.
dcdiag /s:DC1 /f:c:itdcdiag_test.txt
Ejemplo 4: Use / a para trabajar con todos los controladores de dominio
Si tiene varios controladores de dominio y desea probarlos todos a la vez, use este comando. Si tiene muchos controladores de dominio, se mostrará mucha información y necesitará la opción / f aquí.
dcdiag /s:DC1 /a
Ejemplo 5: Use / q solo para mostrar errores
DCDiag puede mostrar mucha información para eliminar el ruido y mostrar solo errores, use este comando.
dcdiag /s:DC1 /q
Ejemplo 6: usar varios interruptores (mi favorito)
Estos son los comandos que me encanta seguir. Realizará todas las pruebas, mostrará todos los detalles y los enviará a un archivo.
dcdiag /s:DC1 /c /v /f:c:itdcdiag_test.txt
Ahora que sabe cómo probar sus controladores de dominio, pasaré a la prueba de DNS. Por cierto, si usa el último ejemplo que incluye / c, el conmutador ejecutará todas las pruebas, incluido el DNS.
Cómo verificar DNS usando DCDiag
El diagnóstico de DNS también incluye varias pruebas.
Aquí están las pruebas que se realizan, por defecto se realizan todas las pruebas excepto la resolución externa de los nombres.
/ DnsBasic (pruebas básicas, no te las puedes perder)
/ DnsForwarders (pruebas de reenvío y sugerencias de raíz)
/ DnsDelegation (pruebas de delegación)
/ DnsDynamicUpdate (Pruebas de actualización dinámica)
/ DnsRecordRegistration (pruebas de registro de registros)
/ DnsResolveExtName (prueba de separación de nombres externos)
/ DnsAll (incluye todas las pruebas anteriores)
/DnsInternetNombre: <імя інтэрнэту> (para prueba/DnsResolveExtName)
Use el siguiente comando para ejecutar la prueba de DNS
dcdiag /s:dc1 /test:dns
Ejemplo: Dcdiag se sigue de un controlador de dominio regular
Directory Server Diagnosis Performing initial setup: * Identified AD Forest. Done gathering initial info. Doing initial required tests Pruebas server: Default-First-Site-NameDC1 Starting test: Connectivity ......................... DC1 passed test Connectivity Doing primary tests Pruebas server: Default-First-Site-NameDC1 Starting test: Advertising ......................... DC1 passed test Advertising Starting test: FrsEvent ......................... DC1 passed test FrsEvent Starting test: DFSREvent ......................... DC1 passed test DFSREvent Starting test: SysVolCheck ......................... DC1 passed test SysVolCheck Starting test: KccEvent ......................... DC1 passed test KccEvent Starting test: KnowsOfRoleHolders ......................... DC1 passed test KnowsOfRoleHolders Starting test: MachineAccount ......................... DC1 passed test MachineAccount Starting test: NCSecDesc ......................... DC1 passed test NCSecDesc Starting test: NetLogons ......................... DC1 passed test NetLogons Starting test: ObjectsReplicated ......................... DC1 passed test ObjectsReplicated Starting test: Replications ......................... DC1 passed test Replications Starting test: RidManager ......................... DC1 passed test RidManager Starting test: Services ......................... DC1 passed test Services Starting test: SystemLog ......................... DC1 passed test SystemLog Starting test: VerifyReferences ......................... DC1 passed test VerifyReferences Running partition tests on : ForestDnsZones Starting test: CheckSDRefDom ......................... ForestDnsZones passed test CheckSDRefDom Starting test: CrossRefValidation ......................... ForestDnsZones passed test CrossRefValidation Running partition tests on : DomainDnsZones Starting test: CheckSDRefDom ......................... DomainDnsZones passed test CheckSDRefDom Starting test: CrossRefValidation ......................... DomainDnsZones passed test CrossRefValidation Running partition tests on : Schema Starting test: CheckSDRefDom ......................... Schema passed test CheckSDRefDom Starting test: CrossRefValidation ......................... Schema passed test CrossRefValidation Running partition tests on : Configuration Starting test: CheckSDRefDom ......................... Configuration passed test CheckSDRefDom Starting test: CrossRefValidation ......................... Configuration passed test CrossRefValidation Running partition tests on : ad Starting test: CheckSDRefDom ......................... ad passed test CheckSDRefDom Starting test: CrossRefValidation ......................... ad passed test CrossRefValidation Running enterprise tests on : ad.activedirectorypro.com Starting test: LocatorCheck ......................... ad.activedirectorypro.com passed test LocatorCheck Starting test: Intersite ......................... ad.activedirectorypro.com passed test Intersite
Ejemplo: falla del servicio kdc y el servicio NETLOGON
Este es el resultado de dcdiag cuando se detiene el servicio kdc y NETLOGON. Usé el interruptor / q solo para mostrar errores
C:Usersrallen>dcdiag /s:dc2 /q Fatal Error:DsGetDcName (DC2) call failed, error 1717 The Locator could not find the server. ......................... DC2 failed test Advertising kdc Service is stopped on [DC2] NETLOGON Service is stopped on [DC2] ......................... DC2 failed test Services Warning: DcGetDcName(GC_SERVER_REQUIRED) call failed, error 1717 A Global Catalog Server could not be located - All GC's are down. Warning: DcGetDcName(PDC_REQUIRED) call failed, error 1717 A Primary Domain Controller could not be located. The server holding the PDC role is down. Warning: DcGetDcName(TIME_SERVER) call failed, error 1717 A Time Server could not be located. The server holding the PDC role is down. Warning: DcGetDcName(GOOD_TIME_SERVER_PREFERRED) call failed, error 1717 A Good Time Server could not be located. Warning: DcGetDcName(KDC_REQUIRED) call failed, error 1717 A KDC could not be located - All the KDCs are down. ......................... ad.activedirectorypro.com failed test LocatorCheck
Eso es todo.
Fácil, ¿verdad?
DCDiag es una herramienta simple pero muy poderosa para probar y diagnosticar controladores de dominio. Le recomiendo que se familiarice con esta herramienta y la ejecute en su entorno de vez en cuando.
Automatice las comprobaciones de estado de AD
Acabo de lanzar una herramienta GUI que automatiza las comprobaciones de estado de Active Directory. Puede elegir qué controladores de dominio probar, qué pruebas ejecutar y recibir informes de resultados de las pruebas por correo electrónico. Clic aquí para saber más.

Sobre el tema: Cómo probar el rol del controlador de dominio FSMO
Artículos de interés