Video-Tipp #50: Windows Update & Powershell Windows-Updates mit PowerShell steuern

Von Thomas Joos

Windows 10 und Windows Server 2019/2022 bieten die Möglichkeit die Installation und Verwaltung von Updates mit der PowerShell zu konfigurieren. Das dazu notwendige Modul hat Microsoft in die Bordmittel der PowerShell integriert. Wir zeigen in diesem Video-Tipp wie es geht.

Anbieter zum Thema

In diesem Video-Tipp zeigen wir, wie man mit der PowerShell Patches herunterladen, installieren, deinstallieren und anzeigen kann.
In diesem Video-Tipp zeigen wir, wie man mit der PowerShell Patches herunterladen, installieren, deinstallieren und anzeigen kann.
(© Alexander Limbach - stock.adobe.com)

In aktuellen Windows 10-Versionen und in Windows Server 2019/2022 kann die Verwaltung von Updates auch ohne die Installation eines zusätzlichen Moduls mit der PowerShell vorgenommen werden. Die dazu notwendigen Cmdlets hat Microsoft in das Modul „WindowsUpdateProvider“ integriert. Alle Cmdlets des Moduls werden mit dem folgenden Befehl angezeigt:

Get-Command -Module WindowsUpdateProvider

In Windows 10 Version 2004 hatte Microsoft das Modul zeitweilig wieder entfernt, führte die Cmdlets aber in den nachfolgenden Versionen wieder ein. In Windows Server 2019/2022 ist das Modul durchgehend verfügbar. Die Cmdlets des Moduls arbeiten mit den Updateservern bei Microsoft zusammen, aber auch mit WSUS.

Wie man mit der PowerShell Patches herunterladen, installieren, deinstallieren und anzeigen kann, zeigen wir hier im Video-Tipp und in der Bildergalerie.

Bildergalerie
Bildergalerie mit 5 Bildern

Durch die Integration der Cmdlets in die Standard-Module der PowerShell in Windows 10 und Windows Server 2019/2022 ist also keine zusätzliche Installation eines weiteren Moduls notwendig. Zwar liefert das Modul aktuell nur sehr wenige Cmdlets mit aus, es ist aber zu erwarten, dass Microsoft hier weitere Cmdlets integrieren wird. Das Modul ist offizieller Bestandteil der PowerShell und wird offiziell von Windows 10 und Windows Server 2019/2022 und neuer unterstützt.

Wer ein nicht unterstütztes Modul eines Drittherstellers nutzt, erhält von Microsoft keine Unterstützung. Dafür bietet das Modul „PSWindowsUpdate“ des Microsoft MVPs Michal Gajda deutlich mehr Funktionen als „WindowsUpdateProvider“. Der Einsatz der Cmdlets ist vor allem auch auf frisch installierten Servern sinnvoll, und auf Servern auf Core-Servern mit Windows Server 2019/2022.

Windows-Updates in der PowerShell herunterladen und installieren

Die Integration der Windows-Update-Steuerung in die PowerShell ermöglicht auf diesem Weg auch das Erstellen von Skripten und die Integration der Update-Installation in verschiedene Anmeldeskripte. Es besteht zum Beispiel auch die Möglichkeit die gefundenen Updates in einer Variablen zu speichern und anschließend auf Basis dieser Variablen die Installation zu starten. Das Speichern der Updates erfolgt zum Beispiel mit folgendem Befehl:

$Updates = Start-WUScan -SearchCriteria "IsInstalled=0 AND IsHidden=0 AND IsAssigned=1"Write-Host "Updates found: " $Updates.Count

Mit „Write-Host“ wird die Anzahl der gefundenen Updates in der PowerShell-Sitzung angezeigt. Das ist natürlich nur optional. Die eigentliche Installation erfolgt anschließend mit:

Install-WUUpdates -Updates $Updates

Der Parameter „-DownloadOnly“ lädt die Updates nur herunter. Das Cmdlet „Start-WUScan“ sucht beim Update-Provider nach Update, die für den Computer installiert werden können und zeigt diese im Anschluss an. Als Quelle verwendet „Start-WUScan“ die Quelle, die in den Richtlinien hinterlegt wurden. Dabei kann es sich um die Microsoft-Update-Server handeln, aber auch um WSUS. Werden keine Einschränkungen mit „Start-WUScan“ mitgegeben, dann werden alle verfügbaren Updates angezeigt.

Wie man mit der PowerShell Patches herunterladen, installieren, deinstallieren und anzeigen kann, zeigen wir hier im Video-Tipp und in der Bildergalerie.

Bildergalerie
Bildergalerie mit 5 Bildern

Mit dem Modul lassen sich auch Probleme untersuchen und der Updateverlauf von Servern und Arbeitsstationen analysieren. Dazu stehen die beiden Cmdlets „Get-WULastInstallationDate“ und „Get-WULastScanSuccessDate“ zur Verfügung. Mit beiden Cmdlets kann überprüft werden, wann auf dem Server das letzte Mal Updates gesucht und wann Updates installiert worden sind. Ob ein Neustart im System hinterlegt ist, der durch Updates ausgelöst wurde, kann mit „Get-WUIsPendingReboot“ überprüft werden. Ist das der Fall, kann der Server mit „Restart-Computer“ vor der Installation von Updates neu gestartet werden.

Die Cmdlets unterstützen leider nicht den Parameter „-Computername“. Um Updates von Computern im Netzwerk abzufragen, muss das klassische Cmdlet „Invoke-Command“ genutzt werden. Mit diesem lassen sich Cmdlets über das Netzwerk auf entfernen Rechnern ausführen.

Zusatzmodul PSWindowsUpdate nutzen

Wem die Standardfunktionen des Moduls „WindowsUpdateProvider“ nicht ausreichen, kann parallel noch das Dritthersteller-Modul „PSWindowsUpdate“ nutzen. Dieses kann parallel installiert werden. Der Befehl dazu ist:

Install-Module -Name PSWindowsUpdate -Force

Die Cmdlets des Moduls werden mit dem folgenden Befehl angezeigt:

Get-Command -Module PSWindowsUpdate

Die installierte Version des Moduls wird mit dem folgenden Befehl angezeigt:

Get-Package -Name PSWindowsUpdate

Liegt eine neue Version des Moduls vor, kann diese mit dem folgenden Befehl installiert werden:

Update-Module -Name PSWindowsUpdate -Force

Das Zusatzmodul „PSWindowsUpdate“ bietet mehr Optionen und zeigt auch mehr Informationen an. Auch eventuelle Verbindungsprobleme werden dadurch besser angezeigt als in der grafischen Oberfläche und mit dem Modul „WindowsUpdateProvider“. Um zum Beispiel mit „PSWindowsUpdate“ nach neuen Updates zu suchen, wird der folgende Befehl verwendet:

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zur IT-Sicherheit

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung
Get-WindowsUpdate -MicrosoftUpdate -Verbose

Um anschließend alle gefundenen Patches automatisch zu installieren, steht folgender Befehl zur Verfügung:

Install-WindowsUpdate -MicrosoftUpdate -AcceptAll -AutoReboot



Wie man mit der PowerShell Patches herunterladen, installieren, deinstallieren und anzeigen kann, zeigen wir hier im Video-Tipp und in der Bildergalerie.

Bildergalerie
Bildergalerie mit 5 Bildern

(ID:47907645)