Like any other Hypervisor infrastructure, VMs in Microsoft Hyper-V can also sync time from its host. This time synchronization happens through Hyper-V integration services. Along with Time sync a few other things like OS Shutdown, Data exchange, heartbeat, snapshot operations are performed via this integration service.
These features can be enabled or disabled via PowerShell in Hyper-V environment. In this post, let us see how to enable/disable time synchronization in Hyper-V environment using PowerShell.
To know the status of time synchronization between VM and the Hypervisor, try below command. It shows the list of features controlled via Integration services and their status.
Get-VMIntegrationService -VMName Win8
and you will see below output.
As you can see in the output, Time synchronization is enabled. To disable that feature, we can use Disable-VMIntegrationService cmdlet.
Get-VMIntegrationService -VMName Win8 -Name "Time Synchronization" | Disable-VMIntegrationService
Similarly to enable, it we can use Enable-VMIntegrationService cmdlet.
Get-VMIntegrationService -VMName Win8 -Name "Time Synchronization" | Enable-VMIntegrationService
At any point of time, you can view the current state by running Get-VMIntegrationService. Like Time synchronization, we can manage other features like OS shutdown, VSS, Key-Value Pair exchange, Hearbeat via these cmdlets.
Get-VMIntegrationService -VMName Win8 -Name "Time Synchronization"
Hope this helps
I have 10 hyper-v hosts and each has between 5-10 hyper-v guests.
How can we achieve this via powershell, where it logs into each hyper-v host or guest and disbaed the time sync only?