In this article, I want to provide best practices for achieving accurate timekeeping with a domain controller or NTP server in Windows guest operating systems. This recommendation is based on my experience and VMware docs.
In a typical domain environment, time is taken from the time server which is a domain controller (PDC Emulator), and while the time synchronization checkbox is unselected in the virtual machine configuration options but you may experience a time difference between the clients and NTP server when clients.
As mentioned in this article, you may still have time problems in some situations, even when you have disabled the above option. In this case, you need to do some configuration in the VMX file, which I did, but still have a time problem and there was a time difference between the client and the server.
I was able to fix this problem by disabling VMware tools, and my virtual machine time was synced with the domain controller without a significant time difference, which was reduced to less than 20 milliseconds, but disabling VMware tools will be a hassle for your environment. So I had to find a way to deactivate only the time synchronization module instead of disabling it.
1- Open a command prompt and change to the VMware Tools installation directory “C:\Program Files\VMware\VMware Tools”
2- Type the following command to determine whether time synchronization is enabled
VMwareToolboxCmd.exe timesync status
VMware Tools sets the time of the guest operating system to be the same as the time of the host.
3- Type the following command to disable periodic time synchronization.
VMwareToolboxCmd.exe timesync disable
As shown, we check the sync time again and see that it is disabled.
Hope this is informative for you!