Windows 11/10: Update und Upgrade per PowerShell durchführen – Befehle, Cmdlets und Vorgehen für die Aktualisierung über die PowerShell-Konsole.

Sie möchten Windows 11/10 per PowerShell aktualisieren? Das geht schnell und zuverlässig. Für normale Updates installieren Sie zunächst das Modul PSWindowsUpdate und starten anschließend mit Install-WindowsUpdate -AcceptAll alle verfügbaren Updates. Für ein Upgrade von Windows 10 auf Windows 11 nutzen Sie dagegen den Installationsassistenten oder die setup.exe einer ISO-Datei mit Parametern.
Diese Anleitung zeigt Ihnen jeden Befehl, jede Option sowie die passenden Lösungen bei Fehlern.
Das Wichtigste in Kürze
- PowerShell als Administrator ist Pflicht, sonst schlagen Updates fehl.
- Das kostenlose Modul PSWindowsUpdate ist das wichtigste Werkzeug für Updates per Kommandozeile.
- Mit Get-WindowsUpdate suchen Sie Updates, mit Install-WindowsUpdate installieren Sie sie.
- Funktionsupdates wie Windows 11 26H2 lassen sich ebenfalls per PowerShell steuern.
- Das Upgrade auf Windows 11 klappt still im Hintergrund über den Installationsassistenten oder die setup.exe.
- Programme aktualisieren Sie zusätzlich mit winget upgrade –all.
- Bei Problemen hilft Reset-WUComponents sowie DISM und sfc.
Update oder Upgrade – worin liegt der Unterschied?
Viele Nutzer verwenden beide Begriffe gleich. Allerdings meinen sie technisch verschiedene Dinge.
Ein Update aktualisiert Ihr bestehendes System. Dazu gehören zum Beispiel:
- kumulative Sicherheitsupdates (jeden zweiten Dienstag im Monat, „Patch Tuesday“)
- Treiberupdates
- Updates für .NET Framework und andere Komponenten
- Definitionsupdates für Microsoft Defender
Ein Upgrade hebt Windows dagegen auf eine neue Version oder Generation. Typische Beispiele sind:
- Windows 10 auf Windows 11
- Funktionsupdate, etwa von Windows 11 25H2 auf 26H2
- Editionswechsel, zum Beispiel von Home auf Pro
Deshalb unterscheiden sich auch die PowerShell-Befehle. Updates erledigen Sie meist mit PSWindowsUpdate. Ein großes Upgrade starten Sie hingegen über ein Installationsprogramm.
Aktueller Stand 2026: Welche Windows-Versionen sind wichtig?
Bevor Sie loslegen, sollten Sie wissen, welche Version auf Ihrem PC läuft. Denn davon hängt ab, ob Sie noch Updates erhalten.
Windows 11: Windows 11 25H2 steht inzwischen für alle berechtigten Geräte bereit; Home- und Pro-Geräte ohne IT-Verwaltung erhalten das Update schrittweise über eine KI-gestützte Verteilung. Zudem steht die nächste Version kurz bevor. Windows 11 26H2 (Build 26300) wird als Enablement-Paket ausgeliefert, da die Versionen 24H2, 25H2 und 26H2 einen gemeinsamen Wartungszweig nutzen. Mit Stand 28. September 2026 ist der öffentliche Veröffentlichungstermin für 26H2 noch offen, die Version hat aber bereits die letzte Testrunde im Release Preview Channel durchlaufen.
Besonders wichtig ist außerdem das Support-Ende. Für Windows 11 24H2 endet der Support am 13. Oktober 2026, während Version 25H2 bis zum 12. Oktober 2027 unterstützt wird. Nutzen Sie also noch 24H2, sollten Sie jetzt aktualisieren.
Windows 10: Der reguläre Support endete bereits am 14. Oktober 2025. Allerdings gibt es eine gute Nachricht. Microsoft hat das kostenlose ESU-Programm für Privatanwender um ein weiteres Jahr verlängert, sodass registrierte Geräte bis zum 12. Oktober 2027 Sicherheitsupdates erhalten. Voraussetzung ist jedoch Windows 10 Version 22H2. Folglich lohnt sich auch hier ein Blick auf den Versionsstand.
Voraussetzungen: So bereiten Sie PowerShell vor
PowerShell als Administrator öffnen
Ohne Administratorrechte installiert PowerShell keine Updates. Deshalb gehen Sie so vor:
- Drücken Sie die Tastenkombination Windows-Taste + X.
- Wählen Sie unter Windows 11 „Terminal (Administrator)“.
- Unter Windows 10 wählen Sie „Windows PowerShell (Administrator)“.
- Bestätigen Sie die Benutzerkontensteuerung mit „Ja“.
Alternativ tippen Sie ins Startmenü PowerShell, klicken mit der rechten Maustaste darauf und wählen „Als Administrator ausführen“.
Tipp: Nutzen Sie für PSWindowsUpdate am besten die vorinstallierte Windows PowerShell 5.1. Das Modul ist nämlich für diese Edition ausgelegt.
Aktuelle Windows-Version prüfen
Mit einem einzigen Befehl sehen Sie Ihre Version sowie die Build-Nummer:
Get-ComputerInfo | Select-Object OsName, OsVersion, OsBuildNumber
Die Versionsbezeichnung wie 25H2 oder 22H2 zeigt dagegen dieser Befehl:
(Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion").DisplayVersion
Außerdem können Sie einfach winver eintippen. Dann öffnet sich ein kleines Infofenster.
Ausführungsrichtlinie anpassen
Standardmäßig blockiert Windows oft das Laden von Modulen. Deshalb erlauben Sie Skripte am besten nur für die aktuelle Sitzung:
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force
Diese Einstellung gilt nur, solange das Fenster offen ist. Somit bleibt Ihr System danach genauso geschützt wie vorher.
Möchten Sie die Einstellung dauerhaft ändern, nutzen Sie stattdessen:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Wiederherstellungspunkt erstellen
Bevor Sie größere Updates installieren, sollten Sie zudem einen Wiederherstellungspunkt anlegen. Falls etwas schiefgeht, kehren Sie so zum alten Zustand zurück.
Enable-ComputerRestore -Drive "C:\"
Checkpoint-Computer -Description "Vor Windows Update" -RestorePointType MODIFY_SETTINGS
Wichtig: Windows erstellt standardmäßig nur einen Wiederherstellungspunkt pro 24 Stunden. Erscheint also keine Bestätigung, existiert vermutlich bereits ein aktueller Punkt.
Windows Update per PowerShell mit PSWindowsUpdate
Das Modul PSWindowsUpdate ist die bekannteste Lösung für Windows Updates per Kommandozeile. Es stammt von Michal Gajda, benötigt mindestens PowerShell 5.1 und liegt in der PowerShell Gallery aktuell in Version 2.2.1.5 vor. Außerdem funktioniert es unter Windows 11, Windows 10 sowie Windows Server.
PSWindowsUpdate installieren
Gehen Sie Schritt für Schritt vor:
- Öffnen Sie PowerShell als Administrator.
- Aktivieren Sie sicherheitshalber TLS 1.2, damit der Download klappt:
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
- Installieren Sie den NuGet-Anbieter:
Install-PackageProvider -Name NuGet -Force
- Installieren Sie anschließend das Modul:
Install-Module -Name PSWindowsUpdate -Force
- Fragt PowerShell nach einem „nicht vertrauenswürdigen Repository“, bestätigen Sie mit J (Ja) oder A (Ja, alle).
- Laden Sie das Modul zum Schluss:
Import-Module PSWindowsUpdate
Alle verfügbaren Befehle des Moduls listen Sie zusätzlich so auf:
Get-Command -Module PSWindowsUpdate
Hinweis: Das Modul selbst halten Sie später mit Update-Module -Name PSWindowsUpdate aktuell.
Nach verfügbaren Updates suchen
Zunächst möchten Sie sicherlich wissen, welche Updates bereitstehen. Dafür genügt:
Get-WindowsUpdate
Alternativ funktioniert der kürzere Alias Get-WUList. PowerShell zeigt Ihnen daraufhin eine Tabelle mit:
- KB-Nummer (zum Beispiel KB5124008)
- Größe des Updates
- Titel mit einer kurzen Beschreibung
- Status (heruntergeladen, installiert, ausgeblendet)
Dauert die Suche etwas, ist das normal. Windows fragt dabei nämlich die Microsoft-Server ab.
Alle Windows Updates installieren
Der wichtigste Befehl lautet:
Install-WindowsUpdate -AcceptAll
Der Parameter -AcceptAll bestätigt alle Updates automatisch. Andernfalls müssten Sie jedes Update einzeln mit „J“ bestätigen.
Soll der PC danach automatisch neu starten, ergänzen Sie:
Install-WindowsUpdate -AcceptAll -AutoReboot
Möchten Sie hingegen keinen Neustart, weil Sie gerade arbeiten, nutzen Sie:
Install-WindowsUpdate -AcceptAll -IgnoreReboot
In diesem Fall starten Sie später selbst neu. Allerdings werden manche Updates erst nach dem Neustart vollständig wirksam.
Praktisch: Mit -RecurseCycle installiert das Modul nach einem Neustart weitere Updates, die erst danach sichtbar werden. Zum Beispiel:
Install-WindowsUpdate -AcceptAll -AutoReboot -RecurseCycle 3
Ein bestimmtes Update per KB-Nummer installieren
Manchmal brauchen Sie nur ein einzelnes Update. Etwa dann, wenn ein bestimmter Fehler behoben werden soll. Dafür geben Sie die KB-Nummer an:
Get-WindowsUpdate -KBArticleID "KB5124008" -Install -AcceptAll
Ebenso können Sie mehrere Updates gleichzeitig auswählen:
Get-WindowsUpdate -KBArticleID "KB5124008","KB5129195" -Install -AcceptAll
Außerdem lassen sich Updates nach ihrem Titel filtern. Das ist zum Beispiel bei .NET-Updates praktisch:
Install-WindowsUpdate -Title ".NET" -AcceptAll
Treiber-Updates gezielt installieren oder ausschließen
Treiber über Windows Update sind nicht immer die neuesten. Deshalb schließen viele Nutzer sie lieber aus. So installieren Sie alle Updates außer Treibern:
Install-WindowsUpdate -NotCategory "Drivers" -AcceptAll
Umgekehrt installieren Sie nur Treiber mit diesem Befehl:
Install-WindowsUpdate -UpdateType Driver -AcceptAll
Zusätzlich lassen sich Vorschau-Updates herausfiltern. Diese optionalen Updates erscheinen meist in der vierten Woche eines Monats:
Install-WindowsUpdate -NotTitle "Preview" -AcceptAll
Updates für Office und andere Microsoft-Produkte
Standardmäßig sucht Windows Update nur nach Updates für Windows selbst. Nutzen Sie jedoch auch Microsoft Office, SQL Server oder Visual Studio, lohnt sich der Dienst Microsoft Update.
- Registrieren Sie den Dienst einmalig:
Add-WUServiceManager -MicrosoftUpdate -Confirm:$false
- Installieren Sie danach alle Updates inklusive weiterer Microsoft-Produkte:
Install-WindowsUpdate -MicrosoftUpdate -AcceptAll
Welche Update-Dienste registriert sind, zeigt zudem Get-WUServiceManager.
Unerwünschte Updates ausblenden
Verursacht ein Update Probleme, können Sie es ausblenden. Folglich bietet Windows es nicht mehr an.
Hide-WindowsUpdate -KBArticleID "KB5124008" -Confirm:$false
Möchten Sie das Update später doch installieren, blenden Sie es wieder ein:
Show-WindowsUpdate -KBArticleID "KB5124008" -Confirm:$false
Update-Verlauf und Neustart-Status anzeigen
Welche Updates wann installiert wurden, zeigt Ihnen der Verlauf:
Get-WUHistory
Nur die letzten 20 Einträge sehen Sie beispielsweise so:
Get-WUHistory -Last 20
Ob ein Neustart aussteht, prüfen Sie außerdem mit:
Get-WURebootStatus
Das Ergebnis lautet entweder True oder False. Steht dort True, sollten Sie den PC möglichst bald neu starten.
Die Ergebnisse der letzten Suche und Installation zeigt zusätzlich Get-WULastResults.
Ein Update per PowerShell deinstallieren
Verursacht ein installiertes Update Fehler, entfernen Sie es wieder:
Remove-WindowsUpdate -KBArticleID "KB5124008"
Alternativ funktioniert auch das Bordmittel wusa:
wusa /uninstall /kb:5124008 /quiet /norestart
Wichtig: Manche Sicherheitsupdates lassen sich nicht deinstallieren. Das gilt insbesondere für Servicing Stack Updates (SSU), die in kumulative Updates integriert sind.
Windows Update per PowerShell ohne Zusatzmodul
Möchten Sie kein Drittanbieter-Modul installieren? Dann stehen Ihnen einige Bordmittel zur Verfügung. Allerdings sind diese weniger komfortabel.
Das integrierte Modul WindowsUpdateProvider
Seit Windows 10 Version 1709 enthält Windows das Modul WindowsUpdateProvider. Damit suchen und installieren Sie Updates in zwei Schritten:
$updates = Start-WUScan -SearchCriteria "IsInstalled=0 AND IsHidden=0"
Install-WUUpdates -Updates $updates
Außerdem zeigt Get-WUIsPendingReboot, ob ein Neustart aussteht. Allerdings bietet das Modul deutlich weniger Optionen als PSWindowsUpdate. Zum Beispiel fehlen Filter nach KB-Nummer oder Kategorie.
UsoClient: Update-Suche anstoßen
Der Update Session Orchestrator (UsoClient) steuert Windows Update im Hintergrund. Mit diesen Befehlen stoßen Sie einzelne Schritte an:
- UsoClient StartScan – startet die Suche nach Updates
- UsoClient StartDownload – lädt gefundene Updates herunter
- UsoClient StartInstall – installiert heruntergeladene Updates
- UsoClient RestartDevice – startet den PC zur Fertigstellung neu
Jedoch zeigt UsoClient keinerlei Rückmeldung an. Zudem ist das Werkzeug von Microsoft offiziell nicht dokumentiert. Deshalb prüfen Sie den Fortschritt am besten zusätzlich in den Einstellungen.
Die Windows-Update-Seite öffnen Sie übrigens direkt aus PowerShell:
Start-Process "ms-settings:windowsupdate"
Microsoft Defender per PowerShell aktualisieren
Virendefinitionen von Microsoft Defender aktualisieren Sie ebenfalls ohne Zusatzmodul:
Update-MpSignature
Den aktuellen Stand der Signaturen prüfen Sie anschließend mit:
Get-MpComputerStatus | Select-Object AntivirusSignatureVersion, AntivirusSignatureLastUpdated
Installierte Updates auflisten
Ebenso liefert Windows den Befehl Get-HotFix mit. Er zeigt installierte Updates samt Datum:
Get-HotFix | Sort-Object InstalledOn -Descending
Ob ein bestimmtes Update vorhanden ist, prüfen Sie beispielsweise so:
Get-HotFix -Id "KB5124008"
Funktionsupdate per PowerShell: Auf die neueste Windows-11-Version wechseln
Funktionsupdates bringen neue Funktionen und verlängern den Support. Da Windows 11 24H2, 25H2 und 26H2 denselben Wartungszweig nutzen, genügt ein kleines Enablement-Paket. Deshalb dauert der Wechsel meist nur einen Neustart.
Funktionsupdate mit PSWindowsUpdate installieren
Sobald Microsoft das Funktionsupdate für Ihren PC freigibt, finden Sie es über den Titel:
Get-WindowsUpdate -Title "Feature update"
Anschließend installieren Sie es gezielt:
Install-WindowsUpdate -Title "Feature update" -AcceptAll -AutoReboot
Erscheint das Update nicht, hat Microsoft es für Ihr Gerät noch nicht freigegeben. In diesem Fall hilft der nächste Abschnitt.
Zielversion per Registry festlegen
Mit der Richtlinie TargetReleaseVersion legen Sie fest, auf welcher Version Windows bleiben oder zu welcher es wechseln soll. Das ist zum Beispiel sinnvoll, um gezielt 25H2 oder 26H2 anzusteuern:
$pfad = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate"
New-Item -Path $pfad -Force | Out-Null
Set-ItemProperty -Path $pfad -Name "ProductVersion" -Value "Windows 11"
Set-ItemProperty -Path $pfad -Name "TargetReleaseVersion" -Value 1 -Type DWord
Set-ItemProperty -Path $pfad -Name "TargetReleaseVersionInfo" -Value "25H2"
Ersetzen Sie 25H2 durch die gewünschte Version. Danach starten Sie eine neue Suche mit Get-WindowsUpdate.
Beachten Sie: Diese Richtlinie wirkt zuverlässig in den Editionen Pro, Enterprise und Education. In Windows 11 Home wird sie offiziell nicht unterstützt. Außerdem sollten Sie die Werte später wieder entfernen, damit Ihr PC nicht dauerhaft auf einer Version festhängt:
Remove-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" -Recurse
Achtung: Der Befehl löscht alle Richtlinien in diesem Schlüssel. Nutzen Sie weitere Update-Richtlinien, entfernen Sie deshalb lieber nur die drei Werte einzeln mit Remove-ItemProperty.
Mit PSWindowsUpdate geht es übrigens noch einfacher, denn Set-WUSettings bietet dafür eigene Parameter:
Set-WUSettings -TargetReleaseVersion -TargetReleaseVersionInfo "25H2" -ProductVersion "Windows 11"
Upgrade von Windows 10 auf Windows 11 per PowerShell
Das Upgrade auf Windows 11 ist kein normales Update. Deshalb erscheint es nicht zuverlässig über PSWindowsUpdate. Stattdessen nutzen Sie ein Installationsprogramm, das Sie per PowerShell still ausführen.
Schritt 1: Windows-11-Kompatibilität prüfen
Windows 11 setzt unter anderem TPM 2.0, Secure Boot sowie einen unterstützten Prozessor voraus. Diese Punkte prüfen Sie direkt per PowerShell.
TPM prüfen:
Get-Tpm
Wichtig sind hier TpmPresent: True und TpmReady: True. Die TPM-Version zeigt zusätzlich:
Get-CimInstance -Namespace "root\cimv2\security\microsofttpm" -ClassName Win32_Tpm | Select-Object SpecVersion
Secure Boot prüfen:
Confirm-SecureBootUEFI
Erscheint True, ist Secure Boot aktiv. Kommt dagegen eine Fehlermeldung, läuft Ihr PC vermutlich im alten BIOS-Modus.
Prozessor, Arbeitsspeicher und Speicherplatz prüfen:
Get-CimInstance Win32_Processor | Select-Object Name
(Get-CimInstance Win32_ComputerSystem).TotalPhysicalMemory / 1GB
Get-PSDrive C | Select-Object Used, Free
Windows 11 benötigt mindestens 4 GB RAM und 64 GB Speicher. Für ein reibungsloses Upgrade sollten jedoch mindestens 20 bis 30 GB frei sein.
Alternativ prüfen Sie alles bequem mit der App „PC-Integritätsprüfung“ von Microsoft.
Schritt 2: Daten sichern
Ein Upgrade behält normalerweise Ihre Dateien und Programme. Trotzdem sollten Sie vorher eine Sicherung anlegen. Zum Beispiel kopieren Sie Ihren Benutzerordner per robocopy auf eine externe Festplatte:
robocopy "$env:USERPROFILE" "E:\Sicherung" /E /R:1 /W:1 /XJ
Ersetzen Sie E: durch den Laufwerksbuchstaben Ihrer externen Festplatte.
Methode 1: Upgrade mit dem Installationsassistenten
Der Windows 11-Installationsassistent ist die einfachste Methode. Sie laden ihn per PowerShell herunter und starten ihn im stillen Modus.
- Erstellen Sie einen Arbeitsordner:
New-Item -Path "C:\Temp" -ItemType Directory -Force
- Laden Sie den Assistenten herunter:
Invoke-WebRequest -Uri "https://go.microsoft.com/fwlink/?linkid=2171764" -OutFile "C:\Temp\Win11Assistent.exe"
- Starten Sie das Upgrade ohne Rückfragen:
Start-Process -FilePath "C:\Temp\Win11Assistent.exe" -ArgumentList "/QuietInstall /SkipEULA /Auto Upgrade /CopyLogs C:\Temp\Logs" -Wait
Das Upgrade läuft danach im Hintergrund. Je nach PC dauert es 30 bis 90 Minuten. Anschließend startet der Computer automatisch neu.
Hinweis: Der Assistent prüft die Hardware selbst. Erfüllt Ihr PC die Anforderungen nicht, bricht er ab.
Methode 2: Upgrade per ISO-Datei und setup.exe
Diese Methode eignet sich besonders für mehrere PCs oder für Umgebungen mit langsamer Internetverbindung. Außerdem haben Sie mehr Kontrolle über den Ablauf.
- Laden Sie die Windows-11-ISO auf der offiziellen Microsoft-Downloadseite für Windows 11 herunter.
- Binden Sie die ISO per PowerShell ein:
$iso = Mount-DiskImage -ImagePath "C:\Temp\Win11_26H2_German_x64.iso" -PassThru
$laufwerk = ($iso | Get-Volume).DriveLetter
- Führen Sie zunächst nur eine Kompatibilitätsprüfung durch:
Start-Process -FilePath "$($laufwerk):\setup.exe" -ArgumentList "/auto upgrade /quiet /eula accept /compat scanonly" -Wait
- Verläuft die Prüfung erfolgreich, starten Sie das eigentliche Upgrade:
Start-Process -FilePath "$($laufwerk):\setup.exe" -ArgumentList "/auto upgrade /quiet /eula accept /dynamicupdate enable" -Wait
Die wichtigsten Parameter der setup.exe im Überblick:
- /auto upgrade – behält Dateien, Apps und Einstellungen
- /quiet – blendet die Oberfläche aus
- /eula accept – akzeptiert die Lizenzbedingungen automatisch
- /compat scanonly – prüft nur die Kompatibilität, ohne zu installieren
- /dynamicupdate enable – lädt während des Setups aktuelle Updates nach
- /noreboot – verhindert den automatischen Neustart
Passen Sie den Dateinamen der ISO an Ihren Download an. Zudem können Sie dieselbe Methode nutzen, um Windows 11 per Inplace-Upgrade zu reparieren.
Was ist mit nicht unterstützter Hardware?
Erfüllt Ihr PC die Anforderungen nicht, lässt sich Windows 11 zwar mit Umgehungen installieren. Allerdings unterstützt Microsoft solche Installationen offiziell nicht. Folglich besteht kein Anspruch auf Updates.
Für ältere PCs ist deshalb meist die bessere Wahl, Windows 10 im ESU-Programm zu belassen. So erhalten Sie weiterhin Sicherheitsupdates. Achten Sie dafür darauf, dass Windows 10 22H2 installiert ist.
Programme per PowerShell aktualisieren mit winget
Windows Updates betreffen nur das System. Ihre Programme aktualisieren Sie hingegen mit dem Windows-Paket-Manager winget. Er ist in Windows 11 sowie in aktuellen Windows-10-Versionen vorinstalliert.
Verfügbare Programm-Updates anzeigen
winget upgrade
PowerShell listet daraufhin alle Programme auf, für die neue Versionen existieren. Zum Beispiel Firefox, 7-Zip oder VLC.
Alle Programme auf einmal aktualisieren
winget upgrade --all --silent --accept-package-agreements --accept-source-agreements
Die Parameter bedeuten:
- –all – aktualisiert alle gefundenen Programme
- –silent – installiert ohne Fenster und Rückfragen
- –accept-package-agreements – akzeptiert Lizenzbedingungen automatisch
- –accept-source-agreements – akzeptiert die Bedingungen der Paketquelle
Programme mit unbekannter Versionsnummer beziehen Sie zusätzlich mit –include-unknown ein.
Einzelnes Programm aktualisieren
winget upgrade --id Mozilla.Firefox
Die passende ID finden Sie jeweils in der Spalte „ID“ der Liste.
PowerShell selbst aktualisieren
Auch PowerShell 7 aktualisieren Sie ganz einfach mit winget:
winget upgrade --id Microsoft.PowerShell
Ist PowerShell 7 noch nicht installiert, nutzen Sie stattdessen winget install –id Microsoft.PowerShell.
Windows Updates per PowerShell automatisieren
Updates manuell zu starten, kostet Zeit. Deshalb lohnt sich eine geplante Aufgabe. So installiert Windows Updates zum Beispiel jeden Mittwoch um 3 Uhr nachts – also direkt nach dem Patch Tuesday.
- Öffnen Sie PowerShell als Administrator.
- Legen Sie einen Ordner für Protokolle an:
New-Item -Path "C:\Logs" -ItemType Directory -Force
- Erstellen Sie die Aufgabe:
$aktion = New-ScheduledTaskAction -Execute "powershell.exe" -Argument '-NoProfile -ExecutionPolicy Bypass -Command "Import-Module PSWindowsUpdate; Install-WindowsUpdate -AcceptAll -IgnoreReboot | Out-File C:\Logs\WindowsUpdate.log -Append"'
$ausloeser = New-ScheduledTaskTrigger -Weekly -DaysOfWeek Wednesday -At 3am
Register-ScheduledTask -TaskName "Windows Update woechentlich" -Action $aktion -Trigger $ausloeser -User "SYSTEM" -RunLevel Highest
- Testen Sie die Aufgabe sofort:
Start-ScheduledTask -TaskName "Windows Update woechentlich"
Das Protokoll finden Sie danach unter C:\Logs\WindowsUpdate.log. Möchten Sie außerdem automatisch neu starten, ersetzen Sie -IgnoreReboot durch -AutoReboot.
Entfernen lässt sich die Aufgabe übrigens jederzeit wieder:
Unregister-ScheduledTask -TaskName "Windows Update woechentlich" -Confirm:$false
Updates auf Remote-PCs per PowerShell installieren
Verwalten Sie mehrere Computer, zum Beispiel im Büro oder in einer kleinen Firma? Dann installieren Sie Updates auch aus der Ferne.
Remoting aktivieren
Auf jedem Ziel-PC muss zunächst PowerShell Remoting aktiv sein:
Enable-PSRemoting -Force
Außerdem muss PSWindowsUpdate auf den Ziel-PCs installiert sein. Das erledigen Sie ebenfalls per Fernzugriff:
Invoke-Command -ComputerName PC01, PC02 -ScriptBlock { Install-Module PSWindowsUpdate -Force }
Updates auf entfernten PCs suchen
Get-WindowsUpdate -ComputerName PC01
Updates auf entfernten PCs installieren
Windows erlaubt die Installation über eine Remote-Sitzung aus Sicherheitsgründen nur eingeschränkt. Deshalb nutzt PSWindowsUpdate den Befehl Invoke-WUJob. Er legt auf dem Ziel-PC eine Aufgabe an, die sofort startet:
Invoke-WUJob -ComputerName PC01, PC02 -Script { Import-Module PSWindowsUpdate; Install-WindowsUpdate -AcceptAll -AutoReboot | Out-File C:\Logs\PSWindowsUpdate.log } -RunNow -Confirm:$false
Ersetzen Sie PC01 und PC02 durch die echten Computernamen. Zudem muss der Ordner C:\Logs auf den Ziel-PCs existieren.
Probleme bei Windows Updates per PowerShell lösen
Nicht immer läuft alles glatt. Die folgenden Lösungen helfen jedoch bei den häufigsten Fehlern.
Häufige Fehlermeldungen und ihre Lösung
| Fehlermeldung | Ursache | Lösung |
|---|---|---|
| 0x80070005 (Zugriff verweigert) | Keine Administratorrechte | PowerShell als Administrator starten |
| „Install-Module“ wird nicht erkannt | Veraltetes PowerShellGet oder falsche PowerShell | Windows PowerShell 5.1 verwenden, NuGet installieren |
| „Die Ausführung von Skripts ist deaktiviert“ | Ausführungsrichtlinie blockiert | Set-ExecutionPolicy Bypass -Scope Process |
| „Unable to resolve package source“ | TLS-Problem beim Download | TLS 1.2 aktivieren (siehe oben) |
| 0x80244022 | Update-Server nicht erreichbar | Internetverbindung, Proxy und Firewall prüfen |
| 0x800f0922 | Zu wenig Platz auf der Systempartition | Speicherplatz freigeben, Neustart |
| 0x8024402c | Proxy- oder Verbindungsfehler | Proxy-Einstellungen mit netsh winhttp prüfen |
Windows-Update-Komponenten zurücksetzen
Hängen Updates fest oder schlagen immer wieder fehl, hilft oft ein Reset. Mit PSWindowsUpdate genügt ein Befehl:
Reset-WUComponents
Ohne das Modul gehen Sie dagegen manuell vor:
- Stoppen Sie die Update-Dienste:
Stop-Service -Name wuauserv, bits, cryptsvc, msiserver -Force
- Benennen Sie die Update-Ordner um:
Rename-Item -Path "C:\Windows\SoftwareDistribution" -NewName "SoftwareDistribution.alt"
Rename-Item -Path "C:\Windows\System32\catroot2" -NewName "catroot2.alt"
- Starten Sie die Dienste wieder:
Start-Service -Name wuauserv, bits, cryptsvc, msiserver
- Starten Sie den PC neu und suchen Sie erneut nach Updates.
Windows legt die Ordner dabei automatisch neu an. Die alten Ordner löschen Sie nach einigen Tagen, sofern alles funktioniert.
Beschädigte Systemdateien reparieren
Sind Systemdateien beschädigt, scheitern Updates häufig. Deshalb prüfen Sie das Systemabbild zuerst mit DISM:
DISM /Online /Cleanup-Image /RestoreHealth
Die PowerShell-Variante lautet:
Repair-WindowsImage -Online -RestoreHealth
Anschließend prüfen Sie die Systemdateien mit:
sfc /scannow
Dieser Vorgang kann 10 bis 30 Minuten dauern. Danach starten Sie neu und versuchen das Update erneut.
Update-Protokoll auslesen
Bleibt die Ursache unklar, hilft das Windows-Update-Protokoll weiter. Dieses erzeugen Sie so:
Get-WindowsUpdateLog
PowerShell legt daraufhin die Datei WindowsUpdate.log auf Ihrem Desktop ab. Dort suchen Sie zum Beispiel nach „FAILED“ oder nach dem Fehlercode.
Zusätzlich zeigt die Ereignisanzeige Update-Fehler:
Get-WinEvent -LogName "Microsoft-Windows-WindowsUpdateClient/Operational" -MaxEvents 20
Häufige Fragen zu Windows Updates per PowerShell
Kann ich Windows ohne Zusatzmodul per PowerShell aktualisieren?
Ja, allerdings mit Einschränkungen. Das integrierte Modul WindowsUpdateProvider bietet die Befehle Start-WUScan und Install-WUUpdates. Zudem stößt UsoClient StartScan die Suche an. Für gezielte Filter nach KB-Nummer oder Kategorie ist PSWindowsUpdate jedoch deutlich komfortabler.
Ist PSWindowsUpdate sicher?
Ja, das Modul gilt als etabliert und wird seit vielen Jahren von Administratoren weltweit genutzt. Außerdem lädt es Updates ausschließlich über die offizielle Windows-Update-Schnittstelle von Microsoft. Installieren Sie es jedoch nur aus der PowerShell Gallery mit Install-Module.
Funktioniert PSWindowsUpdate auch in PowerShell 7?
Das Modul ist für Windows PowerShell 5.1 ausgelegt. In PowerShell 7 funktioniert es oft über die Kompatibilitätsschicht, allerdings nicht immer fehlerfrei. Deshalb empfiehlt sich für Updates die vorinstallierte Windows PowerShell 5.1 oder das Terminal mit dem Profil „Windows PowerShell“.
Warum findet Get-WindowsUpdate keine Updates?
Meist ist Ihr System schlicht aktuell. Andernfalls können Gruppenrichtlinien, ein eingestellter WSUS-Server oder eine pausierte Update-Funktion die Ursache sein. Prüfen Sie deshalb die Einstellungen mit Get-WUSettings. Hilft das nicht, setzen Sie die Komponenten mit Reset-WUComponents zurück.
Wie verhindere ich einen automatischen Neustart?
Nutzen Sie den Parameter -IgnoreReboot, zum Beispiel mit Install-WindowsUpdate -AcceptAll -IgnoreReboot. Danach prüfen Sie mit Get-WURebootStatus, ob ein Neustart aussteht. Starten Sie anschließend neu, sobald es Ihnen passt.
Kann ich Windows 10 noch per PowerShell aktualisieren?
Ja, alle beschriebenen Befehle funktionieren auch unter Windows 10. Allerdings erhalten Sie seit Oktober 2025 nur noch Sicherheitsupdates über das ESU-Programm. Dafür benötigen Sie Windows 10 Version 22H2 sowie eine Registrierung in den Windows-Update-Einstellungen.
Wie aktualisiere ich per PowerShell auf Windows 11 26H2?
Sobald Microsoft 26H2 für Ihren PC freigibt, suchen Sie mit Get-WindowsUpdate -Title „Feature update“ danach. Anschließend installieren Sie es mit Install-WindowsUpdate -Title „Feature update“ -AcceptAll. Da 26H2 als Enablement-Paket kommt, genügt meist ein einzelner Neustart.
Wie aktualisiere ich alle Programme per PowerShell?
Verwenden Sie den Paket-Manager winget. Der Befehl winget upgrade –all –silent aktualisiert alle unterstützten Programme auf einmal. Zusätzlich zeigt winget upgrade vorher eine Liste der verfügbaren Updates.
Wie sehe ich, welche Updates installiert sind?
Dafür gibt es gleich zwei Möglichkeiten. Get-HotFix zeigt installierte Updates samt Datum und ist in Windows integriert. Mit PSWindowsUpdate liefert Get-WUHistory zudem einen ausführlicheren Verlauf inklusive fehlgeschlagener Installationen.
Fazit
Mit PSWindowsUpdate installieren Sie Windows Updates per PowerShell schnell, gezielt und sogar automatisiert. Außerdem steuern Sie Funktionsupdates über die Zielversion und aktualisieren Programme zusätzlich mit winget.
Für das Upgrade auf Windows 11 nutzen Sie hingegen den Installationsassistenten oder die setup.exe im stillen Modus. Legen Sie vorher jedoch stets eine Sicherung sowie einen Wiederherstellungspunkt an.
