So automatisieren Sie Windows-Updates mit PowerShell: Kurzer Überblick
Das Patch-Management ist ein entscheidender Aspekt der IT-Infrastrukturverwaltung, genau wie Backup einer Windows-Arbeitsstation. Mit der richtigen Patch-Management-Lösung können Sie Ihr System optimieren, indem Sie die neuesten Software-Updates und Patches testen oder installieren. Patches gelten als vorübergehende Lösungen für bestehende Probleme zwischen den vollständigen Software-Releases. Wenn das Patch-Management effektiv durchgeführt wird, können Sie Schwachstellen Ihres Systems umgehend beheben und potenzielle Bedrohungen mindern.
Windows bietet eine eigene Patch-Management-Lösung an – Windows Update. Viele IT-Administratoren empfinden den Patch-Management-Prozess jedoch nach wie vor als zu komplex und zeitaufwendig. Zudem können Systemupdates Ihren Produktionsablauf beeinträchtigen, da sie häufig automatisch während der Geschäftszeiten gestartet werden. Mit PowerShell-Cmdlets können Sie Windows-Updates automatisieren und so Aufwand und Zeit sparen.
Dieser Blogbeitrag beschreibt, wie Sie Windows-Updates mithilfe von PowerShell installieren können, und enthält eine Liste von Nützliche PowerShell-Befehle zur Automatisierung des Patch-Management-Prozesses. Das Installieren von Patches kann das Risiko von Fehlern oder Sicherheitslücken in Ihrem System verringern.
Was ist PSWindowsUpdate?
Um das Management von Windows-Patches reibungslos und einfach zu gestalten, können Sie das von Michal Gajda entwickelte Modul „PSWindowsUpdate“ verwenden. Dieses Modul ist öffentlich zugänglich und kann kostenlos unter PowerShell-Galerieheruntergeladen werden. Die wichtigsten Anforderungen sind, dass auf dem Computer eine Windows-Version ab Vista oder Windows Server 2008 installiert ist. Außerdem benötigen Sie PowerShell 2.0 oder höher.
Mit PSWindowsUpdate können Sie feststellen, ob Windows-Updates für Ihren Computer verfügbar sind. Darüber hinaus ermöglicht Ihnen dieses Modul das zentrale Management von Windows-Updates auf verschiedenen Windows-Servern und -Arbeitsstationen. Auf diese Weise können Sie aus der Ferne steuern, welche Updates installiert, entfernt oder ausgeblendet werden.
So automatisieren Sie Windows-Updates mit PowerShell
Im Folgenden beschreiben wir den Konfigurationsprozess für PSWindowsUpdate, einschließlich des Herunterladens und der Installation des Moduls sowie der Überprüfung der Befehle, mit denen Sie Windows-Updates automatisieren können.
So installieren Sie PSWindowsUpdate
Um das Windows-Patch-Management effektiv zu automatisieren, müssen Sie zunächst das PSWindowsUpdate-Modul auf Ihrem Computer installieren. Öffnen Sie dazu eine PowerShell-Eingabeaufforderung mit erhöhten Rechten und geben Sie den folgenden Befehl ein:
Install-Module -Name PSWindowsUpdate
Nach Ausführung dieses Befehls werden Sie gefragt, ob Sie das angegebene Modul aus der PSGallery installieren möchten. Wählen Sie „ Yes “, wenn Sie fortfahren und alle Änderungen akzeptieren möchten.

Nachdem Sie das Modul installiert haben, müssen Sie sicherstellen, dass Sie remote auf andere Computer zugreifen können. Auf diese Weise sollten Sie in der Lage sein, Windows-Updates auf Remote-Computern zu installieren, wodurch Sie nur minimalen Zeit- und Arbeitsaufwand betreiben müssen. Damit das PSWindowsUpdate-Modul mit Remote-Computern funktioniert, müssen Sie das Modul auf Ihrem Computer speichern und über ein Netzwerk teilen.
Falls andere Server dieses Modul importieren und bereitstellen können, können Sie eine automatisierte Windows-Patch-Verwaltung einrichten. Führen Sie dazu das folgende Cmdlet aus:
Save-Module -Name PSWindowsUpdate -Path
Hier müssen Sie den Parameter „ –Path “ definieren, indem Sie angeben, wo das PSWindowsUpdate-Modul gespeichert werden soll.
So verwenden Sie PSWindowsUpdate
Im weiteren Schritt erfahren Sie, wie Sie dieses Modul nutzen können, um Windows-Updates mit PowerShell-Cmdlets zu automatisieren. Dies ist ein großer Vorteil für IT-Administratoren, die das Patch-Management auf Server-Core-Rechnern ohne grafische Benutzeroberfläche durchführen müssen. Durch den Einsatz dieser Cmdlets können Sie den Verwaltungsaufwand minimieren und den Prozess vereinfachen sowie die Fehleranfälligkeit verringern. Um eine vollständige Liste der verfügbaren Windows-Updates zu erhalten, führen Sie den folgenden PowerShell-Befehl aus:
Get-WindowsUpdate
Auf Ihrem Bildschirm sollte die unten abgebildete Ausgabe erscheinen:
Anhand dieser Informationen können Sie sicher feststellen, welche Software oder Anwendung aktualisiert werden muss. Nach der Installation der Updates können Sie alle Updates installieren, indem Sie den folgenden Befehl eingeben. Durch Hinzufügen des Parameters „ –AutoReboot “ können Sie zudem sicherstellen, dass das System nach der Installation des Updates automatisch neu gestartet wird.
Get-WUInstall -AcceptAll –AutoReboot
Falls Sie keinen Neustart wünschen (um den Produktionsablauf nicht zu unterbrechen), können Sie das folgende Cmdlet ausführen:
Get-WUInstall -AcceptAll –IgnoreReboot
Auf dem Bildschirm sehen Sie den Fortschritt des Patch-Management-Prozesses sowie die vollständige Liste der Updates und deren aktuellen Status.
Nach Abschluss des Installationsvorgangs wird in der PowerShell-Konsole die folgende Meldung angezeigt: „Ein Neustart ist erforderlich, muss jedoch manuell durchgeführt werden“. Sie müssen das System also dennoch neu starten, können dies jedoch zu einem Zeitpunkt tun, der am besten in Ihren Plan passt.
Wenn Sie nur ein bestimmtes Update herunterladen möchten, können Sie den Parameter –KBArticleID zum PowerShell-Cmdlet hinzufügen. Vergessen Sie nicht, die Nummer des KB-Artikels anzugeben, um den richtigen Patch herunterzuladen. Ich möchte beispielsweise das Windows-Tool zum Entfernen bösartiger Software (x64) sowie das Security Intelligence-Software-Update für Windows Defender Antivirus installieren. Der entsprechende PowerShell-Befehl sollte wie folgt lauten:
Get-WUInstall -KBArticleID KB890830, KB2267602 –AcceptAll
Nach Ausführung dieses Befehls sind auf meinem Computer nur zwei der genannten Updates installiert.
Übersicht über die PSWindowsUpdate-Befehle
Wenn Sie sich fragen, welche PowerShell-Cmdlets mit dem PSWindowsUpdate-Modul verwendet werden können, sollten Sie den folgenden Befehl eingeben und die Eingabetaste drücken: Enter:
Get-Command –module PSWindowsUpdate
Hier sehen Sie eine vollständige Liste der Befehle des Moduls.

Schauen wir uns an, wie einige dieser Befehle funktionieren.
1. Mit dem Cmdlet Get-WUHistorykönnen Sie den Verlauf der letzten Updates ansehen. Nach Ausführung dieses Befehls wird eine ähnliche Ausgabe auf Ihrem Bildschirm angezeigt.
2. Das nächste Cmdlet ist „ Get-WUInstallerStatus“, mit dem Sie den Status des Windows Installer-Dienstes überprüfen können. Hier können Sie feststellen, ob der Installer ordnungsgemäß arbeitet oder nicht. Die Ausgabe für diesen Vorgang kann wie folgt aussehen:
3. Durch Ausführen des Cmdlets „ Get-WURebootStatus “ können Sie überprüfen, ob ein Neustart des Systems erforderlich ist, damit ein bestimmtes Update vollständig angewendet wird.
4. Mit dem Cmdlet „ Get-WUServiceManager “ können Sie die Quelle von Windows-Updates überprüfen. 
Wie Sie sehen können, gibt die letzte Spalte die Quelle des Updates an (z. B. Windows Update, DCat Flighting Prod usw.).
5. Sie können bestimmte Updates aus der Liste ausblenden, um zu verhindern, dass sie auf Ihrem Computer installiert werden. Dazu sollten Sie den Befehl „ Hide-WindowsUpdate “ ausführen, mit dem Sie die IDs der KB-Artikel angeben können, die Sie ausblenden möchten. Das folgende Beispiel zeigt, wie Sie das Update KB2267602 aus der Liste ausblenden können:
$HideList = "KB2267602"
Hide-WindowsUpdate -KBArticleID $HideList –Hide
Bevor Änderungen vorgenommen werden, werden Sie aufgefordert, die Auswahl zu bestätigen. Geben Sie Y ein, um den KB-Artikel auszublenden.

Wenn Sie jedoch die Liste der ausgeblendeten Updates abrufen möchten, können Sie das folgende Cmdlet ausführen.
In der Spalte „Status“ sehen Sie den Buchstaben H , der anzeigt, dass das Update erfolgreich ausgeblendet wurde. Wenn Sie also das nächste Mal den Befehl „ Get-WUInstall “ ausführen, wird das ausgewählte Update automatisch aus der Liste der verfügbaren Updates ausgeschlossen.
Sollten Sie die Änderungen rückgängig machen wollen, können Sie das folgende Cmdlet in der PowerShell-Konsole verwenden:
Hide-WindowsUpdate -KBArticleID $HideList -Hide:$false
Erneut werden Sie aufgefordert, die Änderungen durch Eingabe von „ Y.

“ zu bestätigen. Wie Sie sehen können, ist der Buchstabe „ H “ nicht mehr im Update-Status enthalten, was bedeutet, dass dieses Windows-Update nicht mehr ausgeblendet ist und auf Ihren Computer heruntergeladen werden kann.
6. Eine weitere Option, die Ihnen zur Verfügung steht, ist das Entfernen der auf Ihrem Computer installierten Updates. Zu diesem Zweck können Sie das Cmdlet Remove-WindowsUpdate verwenden und die ID des KB-Artikels eingeben, den Sie von Ihrem Computer deinstallieren möchten. Beispiel:
Remove-WindowsUpdate -KBArticleID KB4519573 –IgnoreReboot
Durch Hinzufügen des Parameters –IgnoreReboot stellen Sie sicher, dass der Computer nicht automatisch neu gestartet wird. Sobald das Update deinstalliert ist, können Sie den Computer später neu starten.
7. Zu guter Letzt können Sie mit dem Cmdlet „ Get-WUList “ auf einem Remote-Computer nach verfügbaren Windows-Updates suchen.
Get-WUList –ComputerName Server5
Damit dieses Cmdlet funktioniert, müssen Sie das PSWindowsUpdate-Modul auch auf dem Remote-Computer installieren. Auf diese Weise können Sie Windows-Updates für mehrere Computer über eine zentrale Oberfläche automatisieren. Mit PSWindowsUpdate lässt sich der Patch-Management-Prozess einfach und effizient durchführen.
Darüber hinaus können Sie den Verwaltungsaufwand reduzieren, der IT-Administratoren bei der Systempatchung entstehen kann.
Fazit
Das PSWindowsUpdate-Modul wurde entwickelt, um den Patch-Management-Prozess einfacher und effizienter zu gestalten. Durch die Automatisierung der Installation von Updates können Sie sicher sein, dass Ihr System regelmäßig aktualisiert wird, wodurch das Risiko von Systemausfällen und Sicherheitslücken minimiert wird. Patches werden hauptsächlich entwickelt, um Probleme oder Schwachstellen zu beheben, die in einem Programm entdeckt wurden. Ein regelmäßiges Patch-Management kann jedoch keinen umfassenden Schutz der gesamten Produktionsumgebung gewährleisten.
Zu diesem Zweck benötigen Sie eine umfassende Lösung für die Datensicherheit, die Backups und Standortwiederherstellung für physische, virtuelle und Cloud-Umgebungen bietet. Mit NAKIVO Backup & Replication können Sie Ihre wichtigsten Daten und Anwendungen plattformübergreifend sichern, die Wiederherstellung unter allen Umständen gewährleisten und die Kosten für die Datensicherheit senken.



