Time on Domain Controller is Wrong When Virtualized on Hyper-V
You install a new Hyper-V environment and virtualize your domain controllers. Now your time is off. You try and synchronize your PDC emulator to an external time source and the time reverts back. What is happening?
The keyword here is Hyper-V Integration Service. There are many benefits to having this service but one downfall in this situation, the time synchronization. Time synchronization in Hyper-V Integration Service synchronizes the virtual machine's time to the host's time. So even though you have the virtualized Domain Controller getting its time from an external source your time is still off because this service overrides those updates.
What do you do? Easy enough, you disable the time synchronization portion of the Hyper-V Integration Service in the virtual machine settings:
Since this change is being made on your PDC role holder, all your other machines in the domain will automatically synchronize their time. To synchronize the domain controller with an external time source you need to do the following:
Open a command prompt on the PDC emulator with administrative access.
Type: w32tm /config /manualpeerlist:pool.ntp.org /syncfromflags:MANUAL (you can use any external time source, I personally like pool.ntp.org).
Type: w32tm /config /update
Type: w32tm /resync
That's it! Now your PDC emulator will successfully synchronize with an external time source and all your other computers in the domain will get the correct time from the PDC emulator.