I was trying to figure out why my clock was not getting properly synchronized with the default Network Time Protocol (NTP) server this evening because I noticed my home router (which also has NTP sync enabled) was a couple minutes ahead of my laptop.

UPDATE: I've made a very quick-and-dirty screencast (typing errors, 'umms' and all) showing how to change the Time Server settings in Windows, which you can view in your browser by clicking here. I incorporated a couple readers' thoughts from the comments into the video, as well.

Since I am running Vista, I went to the Change Date and Time settings dialog for the clock, then I clicked on the Internet Time tab, and noted that "time.windows.com" was selected as the NTP host to sync with. The only problem is, it looks like that host is not working. In fact, if I tried to select that host and do an update the system dialog would hang until it timed out:

So, I changed the NTP host to "ntp1.dlink.com" (same one my DLink router uses) and saved it, and instantly the time was updated on the Windows machine.

I went with the DLink time server after messing with a few of the other NTP host options (the NIST ones) available in the configuration list, some of which worked at the time and some of which didn't work too well or at all.

Anyone else having problems successfully connecting via NTP at time.windows.com? It will be interesting to see if this problem still exists tomorrow or not. At least one other person I just checked with has the exact same issues as of the time of this writing. Bummer that the default Windows Vista time service is not highly available (or at least appears not to be, so let me know if I am wrong here). Seems like it should be. Time sync issues across an ASP.net web farm for example can wreak havoc with an app, and try getting a domain controller's time out of sync with member servers. It can be a whole lot of not-fun. Of course, perhaps relying on time.windows.com is not the best way to ensure stability when you really should be running your own enterprise time services keyed to GPS or atomic clock, but you get the point. For what it's worth, here is how to synchronize Windows Vista with an Internet time server, as cannibalized from Windows Help:

*You can synchronize your computer clock with an Internet time server. This means that the clock on your computer is updated to match the clock on the time server, which can help ensure that the clock on your computer is accurate. Your clock is typically updated once a week and needs to be connected to the Internet for the synchronization to occur. *

Open the Date and Time dialog.

Click the Internet Time tab, and then click Change settings. If you are prompted for an administrator password or confirmation, type the password or provide confirmation.

Click Automatically synchronize with an Internet time server, select a listed time server or enter the name of the one you want to use, and then click OK. Test the connection using the button provided.