A verces queremos automatizar el arranque de un servicio pero en una fecha diferente a la actual, motivos??, bueno hackeo, usurpacion, engaño o simplemente por que si. El siguiente codigo es para usarlo en un Batch.
Yo encontre un monton de problemas para que sincronizara la hora de nuevo, windows tiene su propio sincronizador de hora que se ejecuta bajo w32time, pero cuando se hace varias llamadas seguidas al servidor de NTP Server puede que este deniegue el servicio, para evitar DDOS.
Mediante el siguiente codigo podreis sacar la fecha en variables antes de cambiarla para posteriormente volverla a configurar.
Recordad que tendreis que comprobar el formato de fecha empleado, orden de mes y dias en otros idiomas es diferente, y si se emplea – o / en tal caso tendras que modificar el codigo. En mi caso el formato empleado es el Español España tradicional, 15/08/2020 ( 15 de agosto de 2020 )
Y otra Cosa recordad ejecutarlo en modo administrador, en caso contrario el comando DATE no tendra privilegios para modifcar la fecha del sistema.
@echo off
@For /F «tokens=1,2,3 delims=/ » %%A in (‘Date /t’) do @(
Set Day=%%A
Set Month=%%B
Set Year=%%C
)
@echo DAY = %Day%
@echo Month = %Month%
@echo Year = %Year%
date 01/01/2051 < nueva fecha en la queremos arrancar el servicio >
net stop «<nombre del servicio>»
net start «<nombre del servicio>»
date %Day%/%Month%/%Year%