Network Protocol Time (windows OS)

Desde hace bastante tiempo, siempre he sufrido los problemas ocasionados por la des sincronización horaria de las maquinas con OS Windows. Pues bien, hace poco he generado un script en PowerShell que me permite tener un control sobre la sincronización de los controladores de dominio y sobre mis dos servidores que utilizo para que sincronicen la hora con las fuentes externas.

Mi infraestructura esta diseñada de la siguiente manera;

– Dos DataCenter y en cada uno de ellos 2 servidores de sincronización de tiempos (NTP01 y NTP02) con 8 fuentes externas; 3 de un proveedor (en tres continentes diferenciados) y 5 de otro (en 5 continentes diferenciados)

El resto de los controladores de dominio de la organización, sincronizan la hora con estos dos servidores, en orden inverso; primero el 02 y segundo el 01. Inicialmente el controlador de dominio con el ROL de PDC es el que marca la hora para el resto de maquinas de la infraestructura.

El script se divide en las siguientes partes;

Definimos las variables del mensaje de correo electrónico

image

Comprobamos que los ficheros que tenemos de control y si existe el fichero que utilizamos para almacenar el contenido de la comprobación lo borramos. Aprovechamos para crear el fichero correspondiente a la comprobación.

image

A continuación cargamos la variable para realizar las comprobaciones de tiempo sobre las maquinas indicadas.

image

Ejecutamos el comando de comprobación de tiempos para cada servidor, cargamos el ficheros de datos inicial y parseamos el contenido al fichero final de reporte.

image

Una vez que completamos el contenido de los ficheros con la comprobación, evaluamos si cualquiera de ellos tenga un  delay superior o inferior a  10s con un offset superior a 250.

image

Si esto valores se superan o son iguales a los valores de la comprobación, enviamos el mensaje de correo electrónico. En este punto, también podemos ampliar el script con la ejecución del comando de sincronización horaria en aquellos servidores que sufren este desfase. Inicialmente, en esta primera versión del script, el scope solo es la comprobación de la correcta sincronización de los mismos.

image

Este script, almacena un reporte cada vez que es ejecutado en la ruta indicada. El formato de mi estructura para este y otros script es:

image

Así controlamos la sincronización de nuestros servidores. Como siempre, estoy abierto a cualquier tipo de comentarios o mejoras que se puedan implementar en el script, para mejorar el control de la sincronización de tiempos en los servidores.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s