Hyper-V: Script to Check IC Version

Hyper-V: Script to Check IC Version



Here is a script for checking the version number of your 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 you can use the VMM GUI to install guest additions:


 

Community Resources

 

Sort by: Published Date | Most Recent | Most Useful
Comments
Page 1 of 1 (2 items)