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.

NAKIVO für Windows-Backups

NAKIVO für Windows-Backups

Schnelles Backup von Windows-Servern und -Arbeitsstationen vor Ort, außerhalb des Unternehmens und in der Cloud. Wiederherstellung kompletter Systeme und Objekte innerhalb weniger Minuten für kurze RTOs und maximale Verfügbarkeit.

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.
Installing PSWindowsUpdate (automate Windows updates)

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:

Get Windows Update (automate Windows updates)

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.

Downloading updates (automate Windows updates)

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.
List of PSWindowsUpdate commands (automate Windows updates)
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.

Viewing history of installed updates (automate Windows updates)

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:

Viewing the installer status (automate Windows updates)

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.

Viewing the reboot status (automate Windows updates)

4. Mit dem Cmdlet „ Get-WUServiceManager “ können Sie die Quelle von Windows-Updates überprüfen. Viewing the source of Windows updates (automate Windows updates)

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.
Hiding Windows Updates (automate Windows updates)

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

Get-WindowsUpdate –IsHidden
Hidden Windows Updates (automate Windows updates)

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.
Changing the status of Windows update (automate Windows updates)

“ 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.

Probieren Sie NAKIVO Backup & Replication aus

Probieren Sie NAKIVO Backup & Replication aus

Nutzen Sie die kostenlose Testversion, um alle Funktionen der Datensicherheit der Lösung kennenzulernen. 15 Tage kostenlos. Keine Einschränkungen hinsichtlich Funktionen oder Kapazitäten. Keine Kreditkarte erforderlich.

Empfohlene Artikel