Upgrade der Konfigurationsversion virtueller Maschinen unter Windows 10 Hyper-V

Nach der Aktualisierung von Windows 10 auf Versionsstand 1607 durch das Anniversary Update lassen sich unter Hyper-V nun virtuelle Maschinen mit der Konfigurationsversion 8.0 erstellen. Somit können im Vergleich zu den Vorgängerversionen einige neue Funktionen zum Einsatz kommen, allerdings müssen bestehende Gastsysteme zunächst aktualisiert werden.

Das Cmdlet Get-VMHostSupportedVersion gibt unter Windows 10 und Windows Server 2016 Auskunft über die lokal unterstüzten Konfigurationsversionen:

Get-VMHostSupportedVersion

Während bei einer neuen Bereitstellung von Gastsystemen automatisch die aktuelle Konfigurationsversion verwendet wird, müssen bestehende Systeme bei Bedarf manuell via Hyper-V-Manager oder PowerShell auf den aktuellen Stand gebracht werden. Dies geschieht im Standardfall für jede virtuelle Maschine einzeln – ob mit Hilfe der grafischen Schnittstelle oder durch das Cmdlet Update-VMVersion.

Abwärtskompatibilität
Manuell lassen sich im Hinblick auf die Abwärtskompatibilität neu zu erstellender virtueller Gäste auch noch ältere Konfigurationsversionen nutzen. Dazu kann via PowerShell das Cmdlet New-VM mit dem Parameter -Version verwendet werden. Zum Beispiel: New-VM -Name ‚VM‘ -Version 5.0

Mit Hilfe der PowerShell lässt sich allerdings dieser Vorgang für eine größere Anzahl virtueller Maschinen automatisieren:

#requires -version 4.0
#requires -runasadministrator

# Einige Variablen definieren
$VMs = Get-VM # Alle VMs einlesen
$VersionNew = (Get-VMHostSupportedVersion -Default).Version # Aktuelle Standard-Konfigurationsversion abfragen
$count = $VMs.Count # Alle VMs summieren
$n = 0 # Zähler auf 0 setzen

foreach ($VM in $VMs) {

    $VMName = $VM.Name # Name der einzelnen VM auslesen
    $VersionOld = $VM.Version # Aktuelle Version der einzelnen VM auslesen
    
    <#
    Abfrage des VM Zustands:
    Ist die VM ausgeschaltet und die bisherige Konfigurationsversion kleiner als die Standard-Konfigurationsversion, wird die VM aktualisiert.
    Ist die VM ausgeschaltet und die bisherige Konfigurationsversion größer als oder gleich der Standard-Konfigurationsversion, wird die VM nicht aktualisiert.
    Ist die VM nicht ausgeschaltet, wird die VM nicht aktualisiert.
    #>

    if ($VM.State -eq 'Off' -and $VersionNew -gt $VersionOld) {
        
        Update-VMVersion -VM $VM -Confirm:$false
        Write-Host -Object "VM $VMName wurde von Version $VersionOld auf Version $VersionNew aktualisiert." -ForegroundColor Green
        $n++

    } elseif ($VM.State -eq 'Off' -and $VersionNew -le $VersionOld) {

        Write-Host -Object "VM $VMName ist bereits aktuell und kann nicht auf Version $VersionNew aktualisiert werden." -ForegroundColor Yellow
    
    } else {
        
        Write-Host -Object "VM $VMName ist nicht ausgeschaltet und wurde nicht aktualisiert." -ForegroundColor Red

    }

}

Write-Host -Object "$n von $count virtuellen Maschinen aktualisiert." -ForegroundColor Cyan

Welche Unterschiede in den Konfigurationsversionen von Hyper-V existieren, lässt sich via Microsoft TechNet hier und hier nachlesen (Stand: August 2016).

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.