Vérifier la version des Integration Services des VMs sous Hyper-V
Lors d’une mise à jour des serveurs Hyper-V, il faut mettre à jour les « Integration Services » dans toutes les VMs.
Vu sur le blog Virtualize the Enterprise de Peter Noorderijk, il a fait un script PowerShell pour récupérer la version des « Integration Services » des VMs sur un ensemble de serveurs Hyper-V.
Pour cela, il faut créer un fichier « servers.txt » et renseigner le nom d’un serveur Hyper-V par ligne.
Puis créer le fichier « CheckIS.ps1 » qui doit contenir le code PowerShell suivant:
1 2 3 4 5 6 7 8 9 10 11 | function Get-IntegrationServicesVersion ($HVhost = $(throw “HVHost required”)) { $kvps = Get-WmiObject -Namespace rootvirtualization -ComputerName $HVHost -Query “Select GuestIntrinsicExchangeItems From Msvm_KvpExchangeComponent” foreach ($kvp in $kvps) { $vmkvp = $Kvp.GuestIntrinsicExchangeItems $vmkvp | select-object @{Label=”VMHost”;Expression={$hvhost}},@{Label=”VMName”;Expression={([xml]$vmkvp[0]).instance.property[1].value}},@{Label=”ICVersion”;Expression={([xml]$vmkvp[14]).instance.property[1].value}} -first 1 } } foreach ($hvhost in get-content servers.txt) {Get-IntegrationServicesVersion $hvhost} |
Dans la fenêtre PowerShell, aller dans le répertoire contenant les 2 fichiers et lancer la commande: .CheckIS.ps1
On récupère alors la liste des Hosts, des VMs et leur version d’Integration Services
PS: sur la capture d’écran, les Integration Services sont en version Hyper-V R2 (avant le SP1)


