DCDiag: Cómo verificar la salud del controlador de dominio mediante PowerShell

DCDiag: Cómo verificar la salud del controlador de dominio usando Powershell. DCDiag es una herramienta poderosa de línea de comandos utilizada para diagnosticar problemas con los controladores de dominio en un entorno de Microsoft Windows Active Directory. Lo usamos para verificar la salud de los controladores de dominio, identificar errores o inconsistencias y solucionar problemas de replicación. DCDiag también ayuda a los administradores a detectar y resolver problemas con la configuración de DNS, la replicación de SYSVOL y otros servicios críticos requeridos para que Active Directory funcione correctamente.

Examinamos DCDiag, una potente herramienta de Windows de Microsoft. Lo usamos para probar servicios DNS, evaluar la salud de los controladores de dominio e incluso corregir automáticamente errores. Aunque relativamente simple, la herramienta es lo suficientemente fuerte como para mantener la salud de todos nuestros controladores de dominio.¿Empezamos con el artículo DCDiag: Cómo verificar la salud del controlador de dominio usando PowershellTambién lee Cómo agregar un controlador de dominio a un dominio existente

¿Deberíamos comenzar con el artículo DCDiag: Cómo verificar la salud del controlador de dominio utilizando Powershell

DCDiag: Cómo verificar la salud del controlador de dominio utilizando Powershell

Instalación de la herramienta DCDiag

Si estamos ejecutando Windows Server, deberíamos tener DCDiag instalado. Microsoft integró DCDiag en las versiones modernas de Windows Server, desde 2012R2 y versiones posteriores.

Propósito de la herramienta DCDiag

El propósito de DCDiag es diagnosticar y solucionar problemas con controladores de dominio en un entorno de Windows Server. Es una herramienta de línea de comandos que realiza una amplia gama de verificaciones de salud en un controlador de dominio, incluidos tests para DNS, replicación, LDAP, analizando la seguridad de uno o más DCs simultáneamente dentro de nuestro bosque de AD o empresa. Repasemos algunas de las diversas pruebas que DCDiag realiza en un controlador de dominio:

  1. Pruebas de conectividad – DCDiag verifica si el controlador de dominio está conectado a la red y puede comunicarse con otros controladores de dominio.
  2. Pruebas DNS – revisa si el controlador de dominio resuelve y registra correctamente el DNS.
  3. Pruebas de replicación – prueba si el controlador de dominio se replica de manera precisa con otros controladores de dominio.
  4. Pruebas de confianza – DCDiag verifica si el controlador de dominio confía en otros dominios y si otros dominios confían en el controlador de dominio.
  5. Pruebas LDAP – verifica si las consultas LDAP funcionan correctamente en el controlador de dominio.
  6. Pruebas Kerberos – DCDiag verifica si la autenticación Kerberos funciona correctamente en el controlador de dominio.
  7. SYSVOL pruebas – DCDiag verifica si la replicación de SYSVOL funciona correctamente en el controlador de dominio.
  8. Pruebas de Catálogo Global – DCDiag verifica si el DC está actuando como un servidor de Catálogo Global y si las consultas de Catálogo Global funcionan correctamente.

Resumen de la Herramienta DCDiag

Bueno, con el artículo DCDiag: Cómo verificar la salud del controlador de dominio usando Powershell es una herramienta de línea de comandos simple. Ejecutamos DCDiag en un símbolo del sistema o una ventana de PowerShell. Recuerde usar privilegios de administrador.

La sintaxis básica de DCDiag es la siguiente:

dcdiag.exe /s:[:] [/u:\ /p:*||””]

En donde:

  • /s – El controlador de dominio
  • /u:\ – El nombre de usuario
  • \p:* – La contraseña

Esta línea de comandos básica retorna los resultados de la prueba que muestran la prueba principal (conectividad) y cualquier prueba especificada en el controlador de dominio.Para aprender a usar el comando DCDiag junto con todos sus interruptores, comencemos con el comando de ayuda:

dcdiag /?

Parámetros de interruptor de DCDiag

Para usar cualquiera de los siguientes interruptores, agréguelo después del comando DCDiag. Un resumen de los interruptores de comando populares:

  1. /s <NombreDelServidor> – Especifica el nombre del servidor para realizar la prueba. Si no se especifica un nombre de servidor, DCDiag prueba elcomputador local.
  2. /v – Proporciona una salida detallada y más información sobre las pruebas realizadas.
  3. /test:<NombreDeLaPrueba> – Especifica el nombre de la prueba que se va a ejecutar. Ejecutamos múltiples pruebas especificando múltiples interruptores /test.
  4. /e – Realiza un conjunto completo de pruebas en el controlador de dominio especificado.
  5. /fix – Intenta arreglar cualquier problema encontrado durante las pruebas.
  6. /f:<NombreDelArchivoDeRegistro> – Especifica el nombre del archivo de registro que se va a crear.
  7. /c – Especifica que DCDiag solo debe realizar las pruebas necesarias para anunciar los servicios del controlador de dominio.
  8. /skip:<TestName> – Salta la prueba especificada.
  9. /l:<LogFileName> – Especifica el nombre del archivo de registro al que se debe agregar en lugar de sobrescribir.
  10. /q – Especifica el modo silencioso, que suprime la visualización de mensajes informativos.
  11. /test:DNS – Ejecuta pruebas DNS en el controlador de dominio especificado.
  12. /test:KCC – Ejecuta pruebas KCC en el controlador de dominio especificado.
  13. /test:Replications – Ejecuta pruebas de replicación en el dc especificado.
  14. /test:Advertising – Ejecuta pruebas de publicidad en el dc especificado.
  15. /test:Services – Ejecuta pruebas de servicios en el dc especificado.

Anteriormente se mencionaron algunos de los conmutadores de línea de comandos de DCDiag más utilizados, pero hay muchas opciones más disponibles. Podemos ver una lista completa de conmutadores y sus definiciones ejecutando el comando de ayuda anterior.

Prueba Nuestra Herramienta de Reporte de Salud de DC de Active Directory

Pruébanos de gratis, Acceso a todas las características. – Más de 200 plantillas de informes de AD disponibles. Personalice fácilmente sus propios informes de AD.




Ejecución de DCDiag y Casos de Uso

Para ejecutar DCDiag, escriba el comando DCDiag sin ningún conmutador para realizar una prueba básica de DCDiag en nuestro DC local (o argumento).

dcdiag.exe

Dado que DCDiag identifica automáticamente el DC actual (local), no se requiere un controlador de dominio ni credenciales administrativas. En la siguiente sección, discutimos múltiples casos de uso utilizando los parámetros de conmutador de DCDiag.

Verificaciones de Salud de DC Remotos

Debemos agregar el interruptor /s: al final del nombre del DC y sus credenciales para ejecutar diagnósticos en un DC remoto (nombre de usuario y contraseña). Por ejemplo:

dcdiag.exe /s:dc01 /u:dc01\Administrator /p:password

El DCPromo y el registro en DNS, que se ejecutan localmente y no para un controlador de dominio, no se verán afectados por el interruptor /s.

Tenga en cuenta que cuando ingresamos la información del /u (nombre de usuario), debemos especificar el nombre de la cuenta con permisos de administrador de dominio y utilizar el formato correcto: dominio/nombre de usuario. Entonces, por ejemplo, agregamos el nombre de usuario (Administrador) con el nombre de dominio (dc01): /u:dc01\Administrator.

Verificación de la salud de todos los DCs.

Interconectamos cada sitio de AD que puede contener una colección de DCs entre sí. El interruptor /a es beneficioso si dividimos el AD en sitios. Nos permite ejecutar la utilidad DCDiag simultáneamente para todos los DC de los sitios:

dcdiag.exe /s:dc01 /a

Usar DCDiag para probar DNS

No importa lo que estemos probando, la herramienta DCDiag siempre verifica la registro DNS de cada controlador de dominio durante la prueba de conectividad principal por defecto. Además, podríamos realizar pruebas DNS específicas, como forwarders, registros de registro y otros, todos los cuales ayudan a investigar problemas de DNS. Para probar DNS, use el comando a continuación:

dcdiag.exe /s:dc01 /test:dns

Las siguientes pruebas básicas se ejecutan por defecto, excepto para la resolución de nombres externos. Todos los resultados de DNS muestran la prueba DNSBasic. Si no hay valor, el interruptor /test:dns automáticamente se establece en /DNSall. Aquí hay algunas pruebas específicas de DNS que llamamos al usar la herramienta DCDiag:

  1. /DNSBasic – Verifica si el servidor DNS del controlador de dominio está configurado correctamente y resuelve nombres.
  2. /DnsDelegation – Prueba si las delegaciónes DNS están configuradas correctamente para el controlador de dominio.
  3. /DnsForwarders – Verifica si los forwarders DNS están configurados correctamente para el controlador de dominio.
  4. /DnsDynamicUpdate – Verifica si el controlador de dominio realiza actualizaciones dinámicas en DNS.
  5. /DnsRecordRegistration – Prueba si la registración DNS del controlador de dominio está actualizada y precisa.

Estos tests aseguran que la configuración de DNS de un controlador de dominio esté correcta y funcione adecuadamente. Si DCDiag encuentra algún problema durante estos tests, resuelve los problemas de inmediato para evitar posibles problemas con Active Directory y otros servicios de red. Un test de DNS debería verse así:

Personalización de los resultados de DCDiag

DCDiag nos permite personalizar los resultados mostrándonos menos o más información. También podemos exportar los resultados para su análisis posterior. Aquí hay algunos ejemplos de cómo personalizar los informes de DCDiag reporting.

Ejecutar DCDiag en modo silencioso

El interruptor silencioso /q es muy útil, reduciendo el tamaño de la salida al mostrar solo la lista de mensajes de error. Aquí hay un ejemplo de DCDiag en modo silencioso:

dcdiag.exe /s:dc01 /q

La salida con el /q está filtrada solo para errores, lo que se parece a esto:

Ejecutar DCDiag con Salida Detallada

Al agregar la bandera detallada /v, ejecutar DCDiag con salida detallada. Esto nos proporciona más información sobre nuestras tareas diarias, como errores, advertencias, mensajes informativos, etc. El interruptor /v es lo opuesto al interruptor silencioso /q.

Como se mencionó anteriormente, DCDiag (sin /v) proporciona suficientes detalles para identificar y resolver cualquier problema con nuestro controlador de dominio, lo cual puede ser suficiente en la mayoría de los casos. Aquí hay un ejemplo del fragmento con el interruptor detallado: 

dcdiag.exe /s:dc01 /v

La salida con el interruptor /v debería verse así:

Sólo recomendamos la salida detallada si vemos advertencias o errores en la tabla de resumen estándar y queremos investigar el problema con más detalle.

Exportar los Resultados de DCDiag

La herramienta DCDiag nos permite exportar los resultados de la verificación de salud. Por ejemplo, podemos guardar todos los resultados de las pruebas en un archivo de texto agregando el interruptor /f al comando DCDiag. Por ejemplo:

dcdiag.exe /s:dc01 f:c:\dcdiag_dc01_test01.txt

Tenga en cuenta que personalizamos el nombre del archivo de registro y lo guardamos en cualquier carpeta específica. Abrimos los resultados en el bloc de notas o en cualquier programa que admita archivos .txt.

También exportamos los resultados a XLSX o XML. Sin embargo, esta función solo funciona para el interruptor /test:dns:

dcdiag.exe /test:dns /x or, /test:dns/x:

El DCDiag es únicamente un instrumento de diagnóstico. Por lo tanto, realiza diferentes pruebas y solo proporciona sus hallazgos. Sin embargo, el interruptor /fix es un interruptor excelente que intenta solucionar de manera segura los problemas mencionados.

dcdiag.exe /s:dc01 /fix

No necesitamos proporcionar más parámetros o características al usar el interruptor /fix. Solo para la prueba de MachineAccount, el interruptor /f es funcional. Corrige el objeto MachineAccount del DC’s Service Principal Names (SPNs).

Nota: Aunque DCDiag diseña el interruptor (fijo) para realizar reparaciones automáticas seguras, aún así modifica el controlador de dominio. Como resultado, revise los resultados de las pruebas antes de utilizar el interruptor /f, y siempre cree una copia de seguridad del DC.

Uso de DCDiag con PowerShell

No hay un equivalente de DCDiag en Windows PowerShell. Sin embargo, utilizamos DCDiag en PowerShell ejecutando el comando dcdiag.exe con los parámetros correspondientes utilizando los cmdlets Invoke-Expression o Invoke-Command. Aquí tienes un ejemplo de cómo usar DCDiag en PowerShell para ejecutar las pruebas de DNS:

Invoke-Expression "dcdiag.exe /test:DNS /v"

En este ejemplo, utilizamos el cmdlet Invoke-Expression para ejecutar el comando dcdiag.exe con el parámetro /test:DNS para ejecutar las pruebas de DNS y el parámetro /v para proporcionar una salida detallada. Por supuesto, podemos reemplazar /test:DNS por cualquier otra prueba de DCDiag que queramos ejecutar. Alternativamente, utilizamos el cmdlet Invoke-Command para ejecutar DCDiag en un equipo remoto.

Aquí tienes otro ejemplo:

Invoke-Command -ComputerName "ServerName" -ScriptBlock { dcdiag.exe /test:DNS /v }

En el ejemplo anterior, utilizamos el parámetro -ScriptBlock con Invoke-Command para especificar el código que queríamos ejecutar en el equipo remoto. El parámetro -ScriptBlock acepta un bloque de script, que es básicamente un bloque de código encerrado entre llaves {} .

Cuando usamos Invoke-Command con el parámetro -ScriptBlock, ejecutamos el bloque de script en el equipo remoto especificado con el parámetro -ComputerName, y el bloque de script devuelve la salida al equipo local. El uso del parámetro -ScriptBlock con Invoke-Command es una forma poderosa de ejecutar comandos o scripts en equipos remotos. Ayuda a gestionar grandes cantidades de equipos en un entorno de red, tal como lo hicimos con la herramienta DCDiag.

Gracias por leer DCDiag: Cómo verificar la salud del controlador de dominio usando Powershell. Concluiremos el artículo ahora.

En conclusión, DCDiag es una herramienta esencial para los administradores que gestionan entornos de Active Directory . Proporcionar una suite completa de comprobaciones de salud para los controladores de dominio ayuda a los administradores a diagnosticar y solucionar problemas fácilmente. La capacidad de realizar pruebas detalladas relacionadas con DNS, replicación, LDAP, seguridad y más hace que DCDiag sea una herramienta valiosa para garantizar la salud y estabilidad de los controladores de dominio y el entorno de Active Directory.

Al incorporar DCDiag en rutinas regulares de mantenimiento y monitoreo , los administradores ayudan a prevenir problemas más graves y aseguran que su entorno de Active Directory permanezca seguro y confiable.

Source:
https://infrasos.com/dcdiag-how-to-check-domain-controller-health-using-powershell/