icetray - Fotolia

Einfaches VM-Patching in Hyper-V mit PowerShell Direct

PowerShell Direct ist eine mit Windows Server 2016 eingeführte Funktion, die direkten Zugriff auf virtuelle Maschinen ermöglicht. Damit lassen sich auch Hyper-V-VMs patchen.

In Windows Server 2016 hat Microsoft die neue Funktion PowerShell Direct integriert. Damit können Administratoren von PowerShell-Sitzungen auf Hyper-V-Hosts direkt auf das virtuelle Betriebssystem einer virtuellen Maschine zugreifen.

Auf diese Weise lassen sich viele Verwaltungsaufgaben wesentlich schneller durchführen. Ein Beispiel dafür ist die Installation von Patches auf den Hyper-V-VMs.

Funktionen von PowerShell Direct

Viele Aufgaben zur Verwaltung von Hyper-V und virtuellen Maschinen lassen sich in Windows Server 2016 komfortabel in der PowerShell vornehmen. Dazu muss auf dem Host Windows Server 2016 betrieben werden. Auch in den VMs ist entweder Windows 10 oder Windows Server 2016 notwendig. Um eine Sitzung zu starten, geben Administratoren in der PowerShell-Sitzung auf dem Host einen der folgenden Befehle ein:

Enter-PSSession -VMName <Name der VM im Hyper-V-Manager>

Invoke-Command -VMName <Name der VM im Hyper-V-Manager> -ScriptBlock { Commands }

Für die erfolgreiche Verbindung muss unter Umständen an der Sitzung eine Authentifizierung für das Betriebssystem der VM stattfinden. Administratoren können auf diesem Weg über die PowerShell-Sitzung auf dem Host nicht nur herkömmliche Server mit der PowerShell verwalten, sondern auch Core-Server und Nano-Server. Die Vorgehensweise dazu ist die gleiche. Soll eine Authentifizierung mit einem anderen Benutzer stattfinden, wird der folgende Befehl verwendet:

Enter-PSSession -VMName <Computer> -Credential <Benutzer>

Mit Exit-Session wird die Sitzung beendet.

PowerShell Direct in Windows Server 2016 ermöglicht den direkten Zugriff auf Hyper-V-VMs. Auch Serverrollen lassen sich so installieren.
Abbildung 1: PowerShell Direct in Windows Server 2016 ermöglicht den direkten Zugriff auf Hyper-V-VMs. Auch Serverrollen lassen sich so installieren.

Hyper-V-Patching per PowerShell Direct

Administratoren können vom Hyper-V-Host über PowerShell Direct auch Dateien kopieren. Dadurch lassen sich zum Beispiel Patches verteilen. Dazu wird eine neue Sitzung in der PowerShell geöffnet, anschließend werden die Dateien kopiert:

$PSSession = New-PSSession -VMName <VMName> -Credential (Get-Credential)

Copy-Item -ToSession $PSSession -Path C:\data.bar -Destination C:\

Sobald die Installationsdateien eines Patches auf die virtuelle Maschine kopiert wurden, kann die Installation in der PowerShell-Direct-Sitzung gestartet werden. Dazu kann zum Beispiel auch mit Variablen gearbeitet werden:

$computer = „w2k16“

$cred = Get-Credential -Credential "$computer\Administrator"

$s = New-PSSession -VMName $computer -Credential $cred

$s

Anschließend wird der Patch kopiert:

Copy-Item -Path C:\patches\patch.msu -Destination C:\Source\ -ToSession $s

Die Installation des Patches erfolgt mit dem Befehlszeilen-Tool wusa.exe ebenfalls in der PowerShell-Direct-Sitzung:

Wusa.exe <MSU-Datei des Patches> /quiet /norestart

Die Option /quiet installiert ohne Rückmeldung, durch die Option /norestart startet der Computer auch dann nicht neu, wenn der Patch das fordert. Mit der Option /uninstall können Updates deinstalliert werden:

Wusa.exe /uninstall /kb:<Knowledgebase-Nummer des Patches>

Auch in der PowerShell lassen sich die installierten Updates anzeigen. Dazu wird das Cmdlet get-hotfix verwendet.

Das Cmdlet kann aber nicht nur Updates des lokalen Rechners in der PowerShell-Direct-Sitzung anzeigen, sondern auch Updates, die auf Rechnern im Netzwerk installiert sind:

Get-hotfix -computername <Name des Rechners>

Serverrollen mit PowerShell Direct installieren

Auch die Installation von Serverrollen auf der VM ist über eine PowerShell-Sitzung auf dem Host möglich. Dadurch kann zum Beispiel die eingebettete Virtualisierung in Hyper-V 2016 aktiviert werden:

Invoke-Command -VMName "w2k16" -ScriptBlock { Enable-WindowsOptionalFeature -FeatureName Microsoft-Hyper-V -Online; Restart-Computer }

Natürlich kann hierfür auch die PowerShell der virtuellen Maschine oder der Server Manager verwendet werden. Sollen mehrere VMs verwaltet werden, ist der Weg über PowerShell Direct aber wesentlich effizienter. 

Folgen Sie SearchDataCenter.de auch auf Twitter, Google+, Xing und Facebook!

Artikel wurde zuletzt im August 2017 aktualisiert

Pro+

Premium-Inhalte

Weitere Pro+ Premium-Inhalte und andere Mitglieder-Angebote, finden Sie hier.

Erfahren Sie mehr über Microsoft Hyper-V

Diskussion starten

Schicken Sie mir eine Nachricht bei Kommentaren anderer Mitglieder.

Mit dem Absenden dieser Daten erklären Sie sich bereit, E-Mails von TechTarget und seinen Partnern zu erhalten. Wenn Ihr Wohnsitz außerhalb der Vereinigten Staaten ist, geben Sie uns hiermit Ihre Erlaubnis, Ihre persönlichen Daten zu übertragen und in den Vereinigten Staaten zu verarbeiten. Datenschutz

Bitte erstellen Sie einen Usernamen, um einen Kommentar abzugeben.

- GOOGLE-ANZEIGEN

SearchSecurity.de

SearchStorage.de

SearchNetworking.de

SearchEnterpriseSoftware.de

Close