cat-scvmm

Welche Version der Hyper-V Integration Services ist installiert?

VIRTUAL MACHINE MANAGER

Eigentlich eine einfache Frage, doch bei vielen Virtual Machines kann die Antwort unter Umstände doch noch einige “Schwierigkeiten” bereiten. Dass es entscheidend ist aktuelle Treiber, oder eben Integration Services einzusetzen sollte jedem einleuchten. Gerade seit der Einführung von Dynamic Memory in Windows Server 2008 R2 Service Pack1 ist die Version der Integration Services entscheidend.

Doch mit System Center Virtual Machine Manager kann die Version sehr schnell ausgelesen werden. Dazu muss lediglich die Spalte “VM Additions” in der VMM Admin Console eingeblendet werden:

Doch noch einfacher und vor allem weiterverwendbar geht dies mittels PowerShell:

$SCVMMServer = Read-Host "Please enter VMM Server name"
Get-SCVirtualMachine -VMMServer $SCVMMServer -All | ft Name, OperatingSystem, VMAddition -AutoSize

Mit einer kleinen Erweiterung lässt sich auch eine Liste erstellen, welche nur Virtual Machines anzeigt welche von der vorgegebenen IS Version abweicht:

$SCVMMServer = Read-Host "Please enter VMM Server name"
Get-SCVirtualMachine -VMMServer $SCVMMServer -All | Where-Object {$_.VMAddition -ne "6.1.7601.17514"} | ft Name, OperatingSystem, VMAddition -AutoSize

Für diejenige welche keine Softwareverteilung (z.B. SCCM) haben um Treiber und Integration Services zu aktualisieren, könnten dies auch mittels eines simplen PowerShell Script vornehmen. Dabei wir die Version der Integration Services sämtlicher Virtual Machines geprüft und bei Bedarf ein Upgrade durchgeführt. Da die VM für diesen Vorgang PoweredOff sein muss, würden VMs welche noch im Betrieb wären für den Upgrade “kurz” heruntergefahren.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$SCVMMServer = Read-Host "Please enter VMM Server name"
$ISVersion = "6.1.7601.17514"
 
# Check if VMM PowerShell are loaded
if (-Not (Get-Module "virtualmachinemanager" -ErrorAction SilentlyContinue)) {
  Write-Host "Loading Virtual Machine Manager PowerShell Modules, please wait..." -f Green
  Import-Module "C:\Program Files\Microsoft System Center 2012\Virtual Machine Manager\bin\psModules\virtualmachinemanager\virtualmachinemanager.psd1";
}
 
$VMs = Get-SCVirtualMachine -VMMServer $SCVMMServer
ForEach ($VM in $VMs) {
  if ($VM.Status -eq "PowerOff" -and $VM.VMAddition -ne $ISVersion) {
  Write-Host "Upgrading $VM, please wait..." -f Green
  Set-SCVirtualMachine $VM -InstallVirtualizationGuestServices $True
  } elseif ($VM.VMAddition -ne $ISVersion) {
  Write-Host "Shutdown $VM..." -f Green
  Stop-SCVirtualMachine $VM
  Write-Host "Upgrading $VM, please wait..." -f Green
  Set-SCVirtualMachine $VM -InstallVirtualizationGuestServices
  Write-Host "Starting $VM..." -f Green
  Start-SCVirtualMachine $VM
  }
}

Das Script kann auch hier heruntergeladen werden, sollte es bei Copy & Paste Probleme geben. Wichtig, dieses Script eignet sich in dieser Version nicht für Production-Use da Virtual Machines ohne Prüfung heruntergefahren werden.

SCVMM

, , , , ,

About the Author

Michel Luescher ist bei Microsoft Schweiz als Senior Consultant in der Services Organisation (MCS) angestellt. Als technischer Berater fokussiert er sich auf die Planung und Umsetzung von Projekten mit dem Fokus auf Microsoft Cloud Lösungen für Datacenter { Hyper-V + System Center = Private Cloud }.

Hinterlasse eine Antwort.

Error “The system cannot find the file specified” wenn in VMM ein Cluster ... Veeam Weihnachtsgeschenk, Backup & Replication v6 NFR Lizenz