Time not propagating to machines on Windows domain

Try this on the PDC hosting the correct time

NET TIME /SETSNTP:time.windows.com 
NET STOP W32TIME
NET START W32TIME
W32TM /config /reliable:YES
W32TM /resync /rediscover

then on each of the "client" NTP machines

W32TM /resync /rediscover

Your first two steps are the make sure that nothing is screwing with your time.

  1. Use w32tm /query /configuration on the DCs that are giving you trouble, if any of outputs says "policy" instead of "local" that means that there is a Group Policy that is interfering with them. I would double-check group policy anyway. Remove them and run a "Gpupdate /force", then verify they are set to local.
  2. If you are using Hyper-V you would want to check that the "Time Synchronization" Integration Service is not enabled on the virtualized domain controllers.

Once you have verified those two things follow the procedure below to sync the PDC to the NTP pool; A much more reliable source then the windows NTP server.

W32tm /config /syncfromflags:manual /manualpeerlist:"us.pool.ntp.org"
W32tm /config /reliable:yes
W32tm /config /update
Net stop w32time && Net start w32time (Alternatively, reboot if you can)
W32tm /resync /rediscover

If it still doesn’t sync on the PDC, you may need to unregister and reregister the w32tm service.

w32tm /unregister
Reboot
w32tm /register
Reboot
Run commands listed above again if it’s a PDC. 

If a client or member DC doesn’t sync, first try doing a “gpupdate /force” to update the group policy.

If that still doesn't work:

Run w32tm /resync” from an elevated command prompt 

or on older systems:

net time /set  (Say “Y” when prompted)

If that STILL doesn't work run:

w32tm /config /syncfromflags:domhier /update  

Reboot the computer force a resync as seen above.