Windows – Sync clock on Windows XP machine to external (non-domain, non-workgroup) Windows Server 2008 R2 machine

timetime-synchronizationwindowswindows-server-2008windows-xp

I have two machines and I'd like their clocks to be in sync for various reasons. Machine 1 is an XP machine located in the office. Machine 2 is a VPS hosted by a third party running Windows Server 2008 R2. These machines are not in any kind of workgroup or on a domain together. They are completely separate machines.

Machine 2 is currently syncing once a week to time.windows.com. The clock on Machine 2 does seem to wander a bit within that week interval. What I would like to do is have Machine 1 set its clock based on the clock of Machine 2.

I have tried configuring w32tm on the XP machine. This is what I used for configuration:

w32tm /config /syncfromflags:manual /manualpeerlist:"<ip address of machine 2>"

However, whenever I issue the /resync command I get "The computer did not resync because no time data was available". I have made sure to start the windows time service on machine 2, and I have added firewall exceptions for UDP port 123.

Is there something I need to configure on Machine 2 (other than just starting the time service) in order to get it to respond?

Edit: I have also run w32tm /config /reliable:YES /update on Machine 2. I am still getting "The computer did not resync because no time data was available". Is there something else I'm missing?

Edit 2: The solution I used was most closely related to the answer I marked as correct. However, this article offered additional registry tweaks that worked in my case: http://www.articlesbase.com/networks-articles/how-to-configure-windows-server-as-a-ntp-server-108481.html

Best Answer

Machine 2 needs to be confiugred as an authoritative time source. Ie. NTPSERVER = 1. From the registry key: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\TimeProviders\NtpServer] Enabled = 1

Alternatively you can do that via the command w32tm /config /reliable:YES /update