« Rdesktop good | Main | Stuff you need for a Chinese visa »

Time synchronization with Windows XP

In the last post I wrote that all I needed was to make a bunch of machines sync their time with one specific Windows XP box. That turned out to be easier that a million blog and forum postings led me to believe. Just fire up regedit on your newly appointed time server and navigate to:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config

Change the AnnounceFlags value to 5 (from 10) - this tells the Windows Time service to consider the machine as "always a time server" and "always a reliable time source". Now, you should be able to synchronize with that machine as follows (run on a client machine):

w32tm /config /syncfromflags:MANUAL
      /manualpeerlist:URL_OR_IP_OF_SERVER,0x8

w32tm /config /update

w32tm /resync

The magic ",0x8" after the IP of the timeserver indicates that the request should be made as a client (this seems to avoid the annoying "peer stratum is less than host stratum" message that confuses a lot of people (by default Windows tries to be "smart" about it, so it refuses to sync to a workgroup computer as if it's a server).