Wie man Windows-Updates mit PowerShell automatisiert: Kurzüberblick

Patch-Management ist ein entscheidender Aspekt der IT-Infrastrukturverwaltung, ähnlich wie Windows Workstation Backup. Mit der richtigen Patch-Management-Lösung können Sie Ihr System verbessern, indem Sie die neuesten Software-Updates und Patches testen oder installieren. Patches gelten als temporäre Lösungen für bestehende Probleme zwischen den vollständigen Software-Releases. Wenn das Patch-Management effektiv durchgeführt wird, können Sie Verwundbarkeiten Ihres Systems zeitnah beheben und potenzielle Bedrohungen abwehren.

Windows bietet seine eigene Patch-Management-Lösung – Windows Update. Viele IT-Administratoren halten den Patch-Management-Prozess jedoch nach wie vor für zu komplex und zeitaufwändig. Darüber hinaus können Systemupdates Ihr Produktionsworkflow beeinflussen, da sie häufig während der Geschäftszeiten automatisch beginnen. Mit PowerShell-Cmdlets können Sie Windows-Updates automatisieren und sich so Zeit und Mühe sparen.

Dieser Blog-Beitrag beschreibt, wie Sie PowerShell verwenden können, um Windows-Updates zu installieren, und enthält eine Liste von nützlichen PowerShell-Befehlen, um den Patch-Management-Prozess zu automatisieren. Patchen kann das Risiko von Fehlern oder Verwundbarkeiten, die Ihr System beeinträchtigen, reduzieren.

Was ist PSWindowsUpdate?

Um den Windows-Patch-Verwaltungsprozess reibungslos und einfach zu gestalten, können Sie das von Michal Gajda entwickelte PSWindowsUpdate-Modul verwenden. Dieses Modul ist öffentlich verfügbar und kann kostenlos von der PowerShell Gallery heruntergeladen werden. Die Hauptanforderung ist, dass ein Computer Windows-Betriebssystemversionen ab Vista oder Windows Server 2008 ausführen muss. Außerdem benötigen Sie PowerShell 2.0 oder höher.

Mit PSWindowsUpdate können Sie feststellen, ob Updates für Ihr Windows verfügbar sind. Darüber hinaus ermöglicht Ihnen dieses Modul, Windows-Updates zentral auf verschiedenen Windows-Servern und Arbeitsstationen zu verwalten. Auf diese Weise können Sie ferngesteuert festlegen, welche Updates installiert, entfernt oder ausgeblendet werden sollen.

Wie man Windows-Updates mit PowerShell automatisiert

Im Folgenden werden wir den PSWindowsUpdate-Konfigurationsprozess erläutern, einschließlich des Downloads und der Installation des Moduls sowie der Überprüfung der Befehle, die Ihnen helfen können, Windows-Updates zu automatisieren.

Wie man PSWindowsUpdate installiert

Um die Automatisierung der Windows-Patch-Verwaltung effektiv durchzuführen, müssen Sie zuerst das PSWindowsUpdate-Modul auf Ihrem Computer installieren. Öffnen Sie hierfür eine erhöhte PowerShell-Eingabeaufforderung und geben Sie den folgenden Befehl ein:

Install-Module -Name PSWindowsUpdate

Nachdem Sie diesen Befehl ausgeführt haben, werden Sie gefragt, ob Sie das angegebene Modul aus PSGallery installieren möchten. Wählen Sie Ja, wenn Sie fortfahren und alle Änderungen akzeptieren möchten.

Nachdem Sie das Modul installiert haben, müssen Sie sicherstellen, dass Sie auf andere Computer remote zugreifen können. Auf diese Weise sollten Sie in der Lage sein, Windows-Updates auf Remote-Computern zu installieren und dabei minimalen Zeitaufwand zu betreiben. Damit das PSWindowsUpdate-Modul mit Remote-Maschinen funktioniert, müssen Sie das Modul auf Ihrem Computer speichern und über ein Netzwerk freigeben.

Falls andere Server dieses Modul importieren und bereitstellen können, können Sie eine automatisierte Windows-Patchverwaltung einrichten. Dazu sollten Sie den folgenden Befehl ausführen:

Save-Module -Name PSWindowsUpdate -Path

Hier müssen Sie den –Path-Parameter definieren, indem Sie angeben, wo das PSWindowsUpdate-Modul gespeichert werden soll.

Wie man PSWindowsUpdate verwendet

Im nächsten Schritt erfahren Sie, wie Sie dieses Modul verwenden können, um Windows-Updates mit PowerShell-Cmdlets zu automatisieren. Dies ist ein großer Vorteil für IT-Administratoren, die den Patch-Management-Prozess auf Server Core-Maschinen ohne GUI durchführen müssen. Mit Hilfe dieser Cmdlets können Sie die Verwaltungskomplexität minimieren und den Prozess einfacher und fehlerfreier gestalten.

Um eine vollständige Liste der verfügbaren Windows-Updates zu erhalten, führen Sie den folgenden PowerShell-Befehl aus:

Get-WindowsUpdate

Sie sollten die folgende Ausgabe auf Ihrem Bildschirm sehen:

Mit diesen Informationen wissen Sie sicher, welche Software oder Anwendung aktualisiert werden muss. Anschließend können Sie alle Updates installieren, indem Sie den folgenden Befehl eingeben. Darüber hinaus können Sie durch Hinzufügen des –AutoReboot Parameters sicherstellen, dass das System automatisch neu gestartet wird, sobald das Update installiert ist.

Get-WUInstall -AcceptAll –AutoReboot

Wenn Sie keinen Neustart starten möchten (um den Produktionsablauf nicht zu unterbrechen), können Sie das folgende Cmdlet ausführen:

Get-WUInstall -AcceptAll –IgnoreReboot

Auf dem Bildschirm können Sie den Fortschritt des Patch-Management-Prozesses sowie die vollständige Liste der Updates und ihren aktuellen Status sehen.

Nach Abschluss des Installationsprozesses sehen Sie die folgende Meldung in der PowerShell-Konsole: ‘Ein Neustart ist erforderlich, aber führen Sie ihn manuell durch’. Sie müssen das System also immer noch neu starten, können dies jedoch zu einem Zeitpunkt tun, der Ihrem Zeitplan am besten entspricht.

Wenn Sie nur ein bestimmtes Update herunterladen möchten, können Sie den –KBArticleID Parameter zum PowerShell-Cmdlet hinzufügen. Vergessen Sie nicht, die Nummer des KB-Artikels anzugeben, um den richtigen Patch herunterzuladen. Wenn Sie beispielsweise Windows Malicious Software Removal Tool x64 und Security Intelligence Update für Windows Defender Antivirus installieren möchten, sollte der entsprechende PowerShell-Befehl wie folgt aussehen:

Get-WUInstall -KBArticleID KB890830, KB2267602 –AcceptAll

Nach Ausführung dieses Befehls werden nur zwei der genannten Updates auf meinem Computer installiert sein.

Übersicht über PSWindowsUpdate-Befehle

Wenn Sie sich fragen, welches PowerShell-Cmdlet mit dem PSWindowsUpdate-Modul funktionieren kann, sollten Sie den folgenden Befehl eingeben und Enter drücken:

Get-Command –module PSWindowsUpdate

Hier sehen Sie eine vollständige Liste der Befehle des Moduls.

Lassen Sie uns erläutern, wie einige dieser Befehle funktionieren.

1. Das Get-WUHistory-Cmdlet ermöglicht es Ihnen, die Historie der neuesten Updates einzusehen. Nach Ausführung dieses Befehls erhalten Sie eine ähnliche Ausgabe auf Ihrem Bildschirm.

2. Das nächste Cmdlet ist Get-WUInstallerStatus, das Ihnen dabei helfen kann, den Status des Windows Installer-Dienstes zu überprüfen. Hier können Sie überprüfen, ob der Installer ordnungsgemäß funktioniert oder nicht. Die Ausgabe für diese Operation kann wie folgt aussehen:

3. Durch Ausführen des Cmdlets Get-WURebootStatus können Sie überprüfen, ob Sie das System neu starten müssen, 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, zeigt die letzte Spalte die Aktualisierungsquelle an (z. B. Windows Update, DCat Flighting Prod usw.).

5. Sie können bestimmte Updates aus der Liste ausblenden, um deren Installation auf Ihrem Computer zu vermeiden. Hierzu sollten Sie das Hide-WindowsUpdate-Befehl ausführen, bei dem es möglich ist, die ID der KB-Artikel anzugeben, 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 gebeten, die Auswahl zu bestätigen. Geben Sie Y ein, um den KB-Artikel auszublenden.

Wenn Sie jedoch die Liste der ausgeblendeten Updates erhalten möchten, können Sie das folgende Cmdlet ausführen.

Get-WindowsUpdate –IsHidden

In der Spalte Status sehen Sie den Buchstaben H, der angibt, dass das Update erfolgreich ausgeblendet wurde. Das nächste Mal, wenn Sie den Befehl Get-WUInstall ausführen, wird das ausgewählte Update automatisch von der Liste der verfügbaren Updates ausgeschlossen.

Wenn Sie die Änderungen rückgängig machen möchten, können Sie das folgende Cmdlet in der PowerShell-Konsole verwenden:

Hide-WindowsUpdate -KBArticleID $HideList -Hide:$false

Sie werden erneut aufgefordert, die Änderungen durch Eingabe von J
zu bestätigen.

Wie Sie sehen können, ist der Buchstabe H nicht mehr im Updatestatus enthalten, was bedeutet, dass dieses Windows-Update nicht mehr ausgeblendet ist und auf Ihrem Computer heruntergeladen werden kann.

6. Eine weitere Konfigurationsoption steht Ihnen zur Verfügung, um die Updates zu entfernen, die Sie auf Ihrem Gerät installiert haben. Hierfür können Sie das Remove-WindowsUpdate-Cmdlet verwenden und die ID des KB-Artikels eingeben, den Sie von Ihrem Computer deinstallieren möchten. Zum Beispiel:

Remove-WindowsUpdate -KBArticleID KB4519573 –IgnoreReboot

Durch Hinzufügen des Parameters –IgnoreReboot stellen Sie sicher, dass der Computer nicht automatisch neu startet. Sobald das Update deinstalliert ist, können Sie das Gerät später neu starten.

Zu guter Letzt können Sie mit dem Get-WUList-Cmdlet nach verfügbaren Windows-Updates auf einem Remote-Computer scannen.

Get-WUList –ComputerName Server5

Um dieses Cmdlet verwenden zu können, müssen Sie das PSWindowsUpdate-Modul auch auf einem Remote-Computer installieren. Auf diese Weise können Sie die Automatisierung von Windows-Updates für mehrere Maschinen aus einer einzigen Ansicht heraus durchführen. Mit PSWindowsUpdate wird der Patch-Management-Prozess auf einfache und effiziente Weise durchgeführt.

Zudem können Sie den Verwaltungsaufwand reduzieren, den IT-Administratoren während des System-Patchings erleben könnten.

Zusammenfassend

Das PSWindowsUpdate-Modul wurde entwickelt, um den Patch-Management-Prozess einfacher und effizienter zu gestalten. Durch die Automatisierung der Update-Installation können Sie sicherstellen, dass Ihr System regelmäßig aktualisiert wird und so das Risiko von Systemausfällen und Sicherheitsverletzungen minimieren. Patches werden hauptsächlich entwickelt, um Probleme oder Schwachstellen zu beheben, die innerhalb eines Programms entdeckt wurden. Regelmäßiges Patch-Management kann jedoch keine umfassende Sicherheit für die gesamte Produktionsumgebung gewährleisten.

Zu diesem Zweck müssen Sie eine umfassende Datensicherungslösung verwenden, die Backup und Standortwiederherstellung für physische, virtuelle und Cloud-Umgebungen bietet. Mit NAKIVO Backup & Replication können Sie Ihre wichtigsten Daten und Anwendungen über mehrere Plattformen hinweg sichern, eine Wiederherstellung unter allen Umständen sicherstellen und die Kosten für den Datenschutz reduzieren.

Source:
https://www.nakivo.com/blog/automate-windows-updates-using-powershell-short-overview/