Pessoal, eu consegui rodar com o Windows embutido no w32tm e uma tarefa agendada (veja abaixo).
O primeiro passo foi configurar o w32tm para usar muitos servidores de horário diferentes (e também para registrar para que pudéssemos ver o que estava acontecendo). O segundo passo foi agendar o w32tm no agendador de tarefas. Gostei dessas soluções, pois não exigiam ferramentas de terceiros. É realmente importante configurar os diferentes servidores de horário, pois muitas vezes eles não respondem.
Configurar o w32tm
Abrir prompt de comando (execute o seguinte como administrador)
w32tm /config /manualpeerlist:"time.nist.gov time.windows.com time-nw.nist.gov time-a.nist.gov time-b.nist.gov time-a.timefreq.bldrdoc.gov time-b.timefreq.bldrdoc.gov time-c.timefreq.bldrdoc.gov utcnist.colorado.edu" /syncfromflags:manual /update
w32tm /query /configuration
Verifique se a lista de servidores NTP está atualizada corretamente, ou seja, reflete a lista de pares que você acabou de inserir
w32tm /debug /enable /file:C:\windows\temp\w32time.log /size:10000000 /entries:300
Navegue até o diretório e verifique se o log foi criado
Altere a hora do sistema manualmente (para que a hora esteja fora de sincronia), volte ao prompt de comandos e execute o comando resync
w32tm /resync
Verifique se a hora do sistema foi atualizada. ** Se você receber um erro sobre o horário em que o serviço não está sendo iniciado, use o comando net start w32time
e tente outra ressincronização
Se você receber o seguinte erro: The compter did not resync because the required time change was too big.
use este comando para ressincronizar:w32tm /resync /force
Se isso funcionar com êxito, tudo o que você precisa fazer é configurar a seguinte tarefa agendada para ser executada quantas vezes quiser (ele usará sua lista de pares configurada acima).
Schedule w32tm
Argumento do programa / script
%windir%\system32\sc.exe start w32time task_started
%windir%\system32\w32tm.exe /resync