Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Here is a script for checking the version number of the VM integration components created by Microsoft software developer Stefan Wernli.
Script
# Test if the IC version is up to date
param(
[string]$vmName = $(throw "Must specify virtual machine name")
)
$vm = gwmi -namespace root\virtualization Msvm_ComputerSystem -filter "ElementName='$vmName'"
# Get the associated KVP Exchange component
$kvp = gwmi -namespace root\virtualization `
-query "Associators of {$vm} where ResultClass=Msvm_KvpExchangeComponent"
# Pull the Guest Intrinsic Exchange Items from XML into a hash
$kvpHash = @{}
if($kvp.GuestIntrinsicExchangeItems){
$xmlContents = ([xml]("<xml>"+$kvp.GuestIntrinsicExchangeItems+"</xml>"))
foreach($instance in $xmlContents.xml.INSTANCE)
{
$name = $instance.PROPERTY | where {$_.NAME -eq "Name"}
$data = $instance.PROPERTY | where {$_.NAME -eq "Data"}
$kvphash.add($name.Value,$data.Value)
}
}
# Save the guest's version
$icVersionGuest = $kvpHash.IntegrationServicesVersion
# Save the host's version
$icVersionHost = (ls 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization\GuestInstaller').`
GetValue("Microsoft-Hyper-V-Guest-Installer-Win60-Package")
return -not ([version]$icVersionGuest -lt [version]$icVersionHost)
Not Detected
NOTE: If VMM displays ‘not detected’ then the VM additions are not current.
If VM’s are shutdown use the VMM GUI to install guest additions: