Windows – How to Automatically Sync Time More Often Than Default

date timewindows

I have a few PCs that are losing time and I'd like Windows to sync them more often with the Internet time. I think the Windows default attempts to update only once per day, and does not update if the time server is not available (which seems to happen quite often) meaning the PCs can end up 20 or 30 seconds out.

I'd like to create a scheduled task to do this say every 5 minutes and if the default time server is not available use mul

Best Answer

Folks, I got this running with windows built in w32tm and a scheduled task (see below).

First step was to config w32tm to use many different time servers (and also to log so we could see what was happening). Second step was to schedule w32tm in task scheduler. I liked this solutions as it didn't require any 3rd part tools. It is really important to set up the different time servers as I find quite often they don't respond.

Configure w32tm

Open Command prompt (Run the following as admin)

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

Check to see the NTP server list is updated correctly ie it reflects the peer list you have just entered

w32tm /debug /enable /file:C:\windows\temp\w32time.log /size:10000000 /entries:300

Browse to directory and check to see the log has been created

Change system time manually(so that the time is now out of sync), then go back to command prompt and run the resync command

w32tm /resync

Check system time has been updated. **If you get an error about the time service not being started you can use the command net start w32time then try another resync

If you get the following error: The compter did not resync because the required time change was too big. then use this command to resync: w32tm /resync /force

If this works successfully then all you have to do is configure the following scheduled task to run as often as you want (it will use your peer list configured above).

Schedule w32tm

Program/Script Argument

%windir%\system32\sc.exe start w32time task_started
%windir%\system32\w32tm.exe /resync
Related Question