Dcdiag: Cómo comprobar el estado de un controlador de dominio

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.

Índice

    ¿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

    Subir