Determine current time source
Config a manual time source
w32tm /query /source
w32tm /config /manualpeerlist:peers /syncfromflags:manual /update
Replace "peers" with a list of time servers, delimited by space, enclosed with double quotes.
Ignore KBs that manually set registry entries
w32tm /config /manualpeerlist:peers /syncfromflags:manual /reliable:yes /update
What you should specify in [peers] value: worth reading:
Detect time difference
w32tm /stripchart /computer:TimeServerName /samples:n /dataonly
Set server to use domain hierarchy
w32tm /config /syncfromflags:domhier /update
After change time settings, it's normally required to restart time service
Note: If there is time difference, it takes time for the system to bring the delta down slowly depending on how much correction can be made in one step. The change is gradual.
[Addition, Jun 13, 2012] When workstations and member servers have trouble synchronizing time with domain, you should check the hierarchy all the way up to forest PDC. I was seeing "The computer did not resync because no time data was available." error, plus time source being "Local CMOS" or "free running OS" etc., in child domain, but the root cause turned out to be forest root PDC wasn't working properly.
[Addition, Jun 13, 2012] When workstations and member servers have trouble synchronizing time with domain, you should check the hierarchy all the way up to forest PDC. I was seeing "The computer did not resync because no time data was available." error, plus time source being "Local CMOS" or "free running OS" etc., in child domain, but the root cause turned out to be forest root PDC wasn't working properly.