De un tiempo a esta parte, el reloj de mi ordenador se desincroniza de forma acusada. He estado buscando soluciones y prácticamente todas pasaban por instalar algún software cliente que actualizase el reloj y ninguno me proporciona la confianza suficiente.
Llegué a plantearme escribir un servicio que hiciera esa sincronización de forma totalmente configurable. Para ello partí del código NTP client in C# publicado en Code Project, lo refactoricé y empecé a planear mi servicio (si al final me decido a acabarlo y dejarlo operativo, lo publicaré).
Sin embargo, existe un servicio que ya realiza esa misión: w32tm. El problema es que su configuración por defecto en Windows XP lo sincroniza una vez a la semana (demasiado tiempo a mi juicio). Después de mucho indagar, descubrí que el servicio se configura con ciertas entradas del registro de Windows.
El parámetro de configuración que buscaba lo descubrí en TuneXP. Consiste en modificar un valor del registro de windows:
Modificar el valor SpecialPollInterval con el número de segundos entre actualizaciones en la rama HKLM/SYSTEM/CurrentControlSet/Services/W32Time/TimeProviders/NtpClient.
Seguidamente, se reinicia el servicio Horario de Windows y el sistema actualizará la hora con el nuevo intervalo. Es una buena idea realizar una sincronización automática tras el reinicio para que empiece a contar los plazos desde ese momento.
El valor por defecto (604800) se corresponde a 7 días. En la página recomiendan valores de 2 días (172800) ó 1 (86400). En mi caso, lo he configurado para 8 horas (28800) o, lo que es lo mismo, 3 veces al día como las medicinas.
Modificar el registro de Windows siempre es peligroso. Es aconsejable hacer una copia de seguridad de las modificaciones (exportando la rama a un fichero .reg) para poder restaurarlo en caso de error. No me hago responsable de los problemas ocasionados por el uso de esta información.
Un comentario
Los comentarios están cerrados.