Integrationsdienste für Hyper-V über WSUS aktualisieren


    Tags: ,

    Integrationsdienste von Hyper-V Die Integrations­dienste für Hyper-V bestehen aus synthe­tischen Treibern für das Gast-OS, die eine erweiterte Kommu­nikation mit dem Host erlauben. Mit jedem Update des Hyper­visors steht auch ihre Aktuali­sierung an. Seit einiger Zeit erfolgt diese über Windows Update, aber abhängig von Host- und Gast-OS.

    Die Integrations­dienste über­nehmen wichtige Aufgaben wie die Synchro­nisierung der Uhrzeit sowie den Daten­austausch zwischen Host und Gast oder die VSS-Unter­stützung für Backups. Aktualisiert man das Host-Betriebs­system oder migriert eine bestehende VM auf einen neueren Hyper-V, dann sollte man im Gast die dazu passen Integration Components installieren.

    Installierte Version ermitteln

    Um von außen herauszufinden, welche Version der Integrations­dienste in einer VM läuft, konsultiert man die Ausgabe des PowerShell-Cmdlets Get-VM:

    Get-VM | ? state -eq "running" | ft Name, IntegrationServicesVersion

    Abgefragt werden hier nur eingeschaltete VMs, weil nur sie Auskunft über die Version der Integration Components geben können.

    Version der Integrationsdienste abfragen mit dem PowerShell-Cmdlet Get-VM

    Von innerhalb des Gastbetriebs­systems erhält man diese Information durch Auslesen der Registry:

    Get-ItemProperty "HKLM:\Software\Microsoft\Virtual Machine\Auto" |
    select IntegrationServicesVersion

    Version der Integration Components aus der Registry des Gast-OS entnehmen

    ISO mit den Integration Components für ältere OS

    Bis Windows Server 2012 R2 enthält das Host-Betriebssystem unter %systemroot%\system32 das ISO-Image vmguest.iso, das man an die VMs als virtuelles DVD-Laufwerk anhängen kann. Im Gast lassen sich die Integrations­dienste dann über setup.exe installieren. Alternativ kann man die auf der ISO enthaltene MSI-Datei über SCCM oder ein äquivalentes Tool verteilen.

    Windows-Versionen vor Server 2016 enthielten die Installationsdateien für die Integrationsdienste  als ISO.

    Dieses Verfahren hat nicht nur den Nachteil, dass es relativ aufwändig ist. Vielmehr muss der Admin beim manuellen Update berechtigt sein, die ISO in der VM zu mounten und gleichzeitig admini­strative Privilegien im Gast-OS besitzen, was aber nicht immer erwünscht ist.

    Integrationsdienste über Windows Update beziehen

    Mit der Einführung von Windows 2016 übertrug Microsoft das Aktualisieren der Integration Components an Windows Update bzw. WSUS. Aus diesem Grund fehlt bei neueren Versionen von Hyper-V die oben erwähnte vmguest.iso und in VMconnect wurde im Menü Aktion der Eintrag Installationsdatenträger für Integrationsdienste einlegen entfernt.

    Der Befehl zu Mounten der vmguest,iso fehlt seit einiger Zeit in vmconnect.

    Allerdings verabsäumte es der Hersteller, umfassend zu dokumentieren, welche Kombinationen aus Host- und Gast­betriebs­system die Integration Components über Windows Updates erhält.

    Während sicher ist, dass Linux-Gäste aus nahe­liegenden Gründen diesen Service nicht in Anspruch nehmen können, blieb relativ lange offen, ob Versionen vor Windows 10 und Server 2016 unterstützt würden. Host- und Gast­kom­binationen aus den neuesten Betriebs­systemen kommen erwartungsgemäß in den Genuss dieses Features.

    Support auch für Windows Server 2012 R2

    Wie sich heraus­stellte, lassen sich die Integrations­dienste auch dann über Windows Update bzw. WSUS aktualisieren, wenn der Host unter Windows 8.1 oder Server 2012 R2 läuft. Das Gast-OS kann dabei noch älter sein. Es gilt aber die Regel, dass der Integrations­dienst für den Daten­austausch laufen muss, wenn eines der beteiligen Betriebs­systeme älter ist als Windows 10 oder Server 2016.

    Der Integrationsdienst für den Datenaustausch muss aktiv sein, damit ältere Versionen von Windows die ICs über WSUS erhalten.

    Dieser wird benötigt, um die Version des Host-Betriebssystems in die Registry des Gastes zu schreiben. Windows Update braucht diese Information, um die passenden Integrations­dienste installieren zu können. Den betreffenden Schlüssel kann man in PowerShell mit

    dir "HKLM:\Software\Microsoft\Virtual Machine\Guest"

    auslesen.

    Windows Update entnimmt der Registry des Gastes, welche Version der Integrationsdienste installiert werden sollen.

    Läuft Hyper-V unter Windows 8.1 oder Server 2012 R2, dann bekommen die Gäste über Windows Update die genau gleiche Version der Integrations­dienste, die bereits in der ISO des Hosts enthalten sind, falls die VM von einem älteren System über­nommen wurde.

    Installiert man jedoch eine aktuelle Version von Windows 10 in einer VM unter Server 2012 R2, dann wird man feststellen, dass die Integration Components nicht denen entsprechen, die im Hyper-V-Host enthalten sind. Vielmehr bringt Windows 10 eine neuere Version dieser Treiber selbst mit.

    Integrationsdienste in WSUS bereitstellen

    In der ursprünglichen Ankündigung, wonach Windows Update die Integration Components künftig aktualisieren werde, hieß es, dass Microsoft für sie eine eigene Kategorie in WSUS einrichten will.

    Eine solche gibt es indes bis heute nicht, so dass man die Treiber offenbar erhält, wenn man die genutzten Versionen von Windows bei den Produkten sowie die Klassifizierung Wichtige Updates ausgewählt hat. Als solche wurden zumindest die ersten Updates bereitgestellt.

    Keine Kommentare