The integration services perform important tasks, such as synchronizing the time, exchanging data between the host and guest, or providing Volume Shadow Copy Service (VSS) support for backups. If you update the host OS or migrate an existing VM to a newer Hyper-V, you should install the appropriate integration components on the guest.
Determine the installed version ^
To find out which version of the integration services is installed in a VM, run the PowerShell cmdlet Get-VM:
Get-VM | ? state -eq "running" | ft Name, IntegrationServicesVersion
It only queries switched-on VMs here because only they can provide information about the version of the integration components.
From within the guest OS, you can obtain this information by reading the registry:
Get-ItemProperty "HKLM:\Software\Microsoft\Virtual Machine\Auto" | select IntegrationServicesVersion
ISO with integration components for older OSes ^
Up to Windows Server 2012 R2, the host OS contains the .iso image %systemroot%\system32\vmguest.iso, which you can attach to VMs as a virtual DVD drive. You can then install the integration services on the guest using setup.exe. Alternatively, you can distribute the .msi file contained on the .iso via System Center Configuration Manager (SCCM) or an equivalent tool.
This procedure is not only relatively cumbersome, but the admin must also be authorized to mount the .iso in the VM and at the same time have administrative privileges in the guest OS, which is not always desired.
Get integration services via Windows Update ^
With the introduction of Windows 2016, Microsoft transferred updating the integration components to Windows Update or WSUS. For this reason, newer versions of Hyper-V do not have the vmguest.iso mentioned above, and in VMconnect, they've removed the "Insert Integration Services Setup Disk" item on the "Action" menu.
However, the manufacturer has failed to comprehensively document which combinations of host and guest OSes receive the integration components via Windows Update.
It is obvious that Linux guests will not be able to use this service. On the other hand, host and guest combinations with the latest OSes will of course benefit from this feature. But it remained unclear for some time whether they'd support versions prior to Windows 10 and Server 2016.
Support for Windows Server 2012 R2 ^
As it turns out, you can also update the integration services via Windows Update or WSUS if the host is running Windows 8.1 or Server 2012 R2. The guest OS can be even older. However, the rule applies that the integration service "Data Exchange" must be running if one of the OSes is older than Windows 10 or Server 2016.
This is required to write the version of the host OS into the guest's registry. Windows Update needs this information to install the appropriate integration services. You can find the corresponding key using this PowerShell command:
If Hyper-V runs on Windows 8.1 or Server 2012 R2, Windows Update will provide guests with the exact same version of integration services already included in the host's .iso. The update might occur when migrating a VM from an older Hyper-V host.
However, if you install a current version of Windows 10 in a VM running on Server 2012 R2, you will find that the integration components are not the same as those included in the Hyper-V host. Rather, Windows 10 already comes with a newer version of these drivers.
Deploy integration services over WSUS ^
The original announcement that Windows Update would update the integration components in the future stated that Microsoft would create a separate category in WSUS for them.
Subscribe to 4sysops newsletter!
However, such a category does not exist up to now, so you automatically get the drivers if you have selected the required version of Windows as the product as well as the "Updates" classification. At least Microsoft has provided the first updates under this classification.