In this scenario you have a virtual machine configured as a domain controller in which the time will ‘desync’ consistently for the clients after being updated.
For virtual machines that are configured as domain controllers, it is recommended that you disable time synchronization between the host system and guest operating system acting as a domain controller. This enables your guest domain controller to synchronize time from the domain hierarchy.
– Power Off the primary domain controller virtual machine
– To disable the Hyper-V time synchronization provider, shut down the VM and clear the Time synchronization check box under Integration Services in HyperV manager.
OR via Powershell
Get-VMIntegrationService -VMName SERVERVMNAME -Name “Time Synchronization” | Disable-VMIntegrationService
– Boot the primary domain controller virtual machine
– Open CMD and run the following commands
net stop w32time
Net start w32time
w32tm /config /manualpeerlist:”uk.pool.ntp.org 0.europe.pool.ntp.org” /syncfromflags:MANUAL /update /reliable:YES
w32tm /config /update
net stop w32time
net start w32time
w32tm /resync /rediscover
Line 1 stops the time service
Line 2 Completely removes all time settings from the registry – you may have to run this twice, or you may get an access denied. If you get an access denied, just run it again.
Line 3 Re-creates the Registry Settings
Line 4 Starts the service
Line 5 Sets the server to sync with the NTP servers pool.ntp.org
Line 6 Updates the configuration
Line 7 Restarts the service so the new settings take effect.
Line 8 Syncs the clock to your new NTP servers. – This needs to return “The command completed successfully.” If it does not, something went wrong with one of the steps above.
w32tm /query /peers – View NTP Server List to confirm