Je kunt met PowerShell eenvoudig Windows updates voor Windows installeren. Hiervoor hoef je echt niet over Windows Server en/of WSUS te beschikken: op Windows 11 en Windows 10 is PowerShell voldoende om de PSWindowsUpdate-module te kunnen gebruiken. Windows updates installeer je dan via PowerShell eenvoudig vanaf Windows Update. Ga als volgt te werk:
In dit artikel
PSWindowsUpdate PowerShell module installeren: Zoeken naar beschikbare Windows Updates, Gevonden updates installeren, “Check for updates” GUI activeren vanuit de opdrachtprompt
Welke updates zijn al geïnstalleerd?
PSWindowsUpdate PowerShell module installeren
Looking for my English post Install Windows Updates using PowerShell? It’s there on Sysadmins of the North :-)
Om de PSWindowsUpdate PowerShell module beschikbaar te maken moet je een PowerShell prompt als administrator starten. Via Start, zoek naar PowerShell en kies de optie Run as Administrator.

Of gebruik de sneltoets Windows + X en kies Terminal (Beheerder) in Windows 11, of Windows PowerShell (Admin) in Windows 10.
Indien nodig moet je eerst het uitvoerbeleid van PowerShell instellen op RemoteSigned: Set-ExecutionPolicy RemoteSigned. Voer hierna de volgende commando’s uit:
Install-PackageProvider -Name NuGet -Force(alleen nodig in Windows PowerShell 5.1; in PowerShell 7 sla je deze stap over)Install-Module -Name PSWindowsUpdate -Force
De module PSWindowsUpdate is nu op je systeem geïnstalleerd. Hij werkt in Windows PowerShell 5.1 én in PowerShell 7; ik gebruik zelf versie 2.2.1.5 in PowerShell 7. Met Get-Command vraag je op welke Cmdlets en aliassen er zijn. Geef de -Module parameter mee (de lijst hieronder komt van een oudere versie van de module):

Get-Command -Module PSWindowsUpdate
CommandType Name Version Source
----------- ---- ------- ------
Alias Clear-WUJob 2.1.1.2 PSWindowsUpdate
Alias Download-WindowsUpdate 2.1.1.2 PSWindowsUpdate
Alias Get-WUInstall 2.1.1.2 PSWindowsUpdate
Alias Get-WUList 2.1.1.2 PSWindowsUpdate
Alias Hide-WindowsUpdate 2.1.1.2 PSWindowsUpdate
Alias Install-WindowsUpdate 2.1.1.2 PSWindowsUpdate
Alias Show-WindowsUpdate 2.1.1.2 PSWindowsUpdate
Alias UnHide-WindowsUpdate 2.1.1.2 PSWindowsUpdate
Alias Uninstall-WindowsUpdate 2.1.1.2 PSWindowsUpdate
Cmdlet Add-WUServiceManager 2.1.1.2 PSWindowsUpdate
Cmdlet Enable-WURemoting 2.1.1.2 PSWindowsUpdate
Cmdlet Get-WindowsUpdate 2.1.1.2 PSWindowsUpdate
Cmdlet Get-WUApiVersion 2.1.1.2 PSWindowsUpdate
Cmdlet Get-WUHistory 2.1.1.2 PSWindowsUpdate
Cmdlet Get-WUInstallerStatus 2.1.1.2 PSWindowsUpdate
Cmdlet Get-WUJob 2.1.1.2 PSWindowsUpdate
Cmdlet Get-WULastResults 2.1.1.2 PSWindowsUpdate
Cmdlet Get-WURebootStatus 2.1.1.2 PSWindowsUpdate
Cmdlet Get-WUServiceManager 2.1.1.2 PSWindowsUpdate
Cmdlet Get-WUSettings 2.1.1.2 PSWindowsUpdate
Cmdlet Invoke-WUJob 2.1.1.2 PSWindowsUpdate
Cmdlet Remove-WindowsUpdate 2.1.1.2 PSWindowsUpdate
Cmdlet Remove-WUServiceManager 2.1.1.2 PSWindowsUpdate
Cmdlet Set-PSWUSettings 2.1.1.2 PSWindowsUpdate
Cmdlet Set-WUSettings 2.1.1.2 PSWindowsUpdate
Cmdlet Update-WUModule 2.1.1.2 PSWindowsUpdate
Zoeken naar beschikbare Windows Updates
Zoeken naar Windows Updates doe je nu eenvoudig met Get-WindowsUpdate of Get-WUInstall:
Get-WindowsUpdate
ComputerName Status KB Size Title
------------ ------ -- ---- -----
DESKTOP-J... ------- KB2267602 574MB Security Intelligence Update for Windows Defender Antivirus - KB2267602 (Ve...
Scan naar (detecteer) nieuwe updates met Microsoft.Update.AutoUpdate COM-object in PowerShell: (new-object -Comobject Microsoft.Update.AutoUpdate).detectnow()
Gevonden updates installeren
Zijn er updates beschikbaar? Dan installeer je deze update eenvoudig met Install-WindowsUpdate, wat een alias is van Get-WindowsUpdate -Install:
Install-WindowsUpdate -KBArticleID KB2267602 -Force
Een bevestiging wordt gegeven dat de update is geaccepteerd, gedownload en geïnstalleerd:
X ComputerName Result KB Size Title
- ------------ ------ -- ---- -----
1 DESKTOP-J... Accepted KB2267602 574MB Security Intelligence Update for Windows Defender Antivirus - KB2267602 (...
2 DESKTOP-J... Downloaded KB2267602 574MB Security Intelligence Update for Windows Defender Antivirus - KB2267602 (...
3 DESKTOP-J... Installed KB2267602 574MB Security Intelligence Update for Windows Defender Antivirus - KB2267602 (...
Je kunt nog véél meer met deze Windows Update module voor PowerShell, zoals het inplannen (schedulen) van updates, updates installeren op andere computers, enz. De Cmdlet Get-Help Install-WindowsUpdate geeft je al deze informatie.
Zo kun je ook in één keer zoeken naar updates en opgeven dat alle gevonden updates geaccepteerd en geïnstalleerd moeten worden. Dit doe je met -AcceptAll -Download -Install en eventueel -MicrosoftUpdate om aan te geven dat je Microsoft Windows Update wilt raadplegen in plaats van bijvoorbeeld een lokale WSUS:
Get-WindowsUpdate -AcceptAll -Download -Install -MicrosoftUpdate
Start het Windows Update GUI venster vanuit cmd.exe met de volgende opdracht: %windir%\explorer.exe ms-settings:windowsupdate-action, of in PowerShell: & "$env:windir\explorer.exe" ms-settings:windowsupdate-action
“Check for updates” GUI activeren vanuit de opdrachtprompt
Ter leering ende vermaeck: je kunt de Check for updates GUI activeren vanuit de opdrachtprompt. Hiervoor gebruik je het UsoClient.exe commando. UsoClient.exe is in Windows 10 en 11 de opvolger van wuauclt.exe (Windows Update Automatic Update Client) uit Windows 7. Microsoft documenteert UsoClient niet officieel, en niet elke parameter werkt op elke Windows-versie. In deze staat USO voor Update Session Orchestrator.

Het UsoClient.exe commando kent een aantal parameters die je mee kunt geven om het gedrag te sturen. Zo gebruik je de parameter ScanInstallWait om gecombineerd te zoeken naar updates en die direct te installeren:
Start-Process -NoNewWindow "c:\windows\system32\UsoClient.exe" -argument "ScanInstallWait" -Wait
Je kunt ook &UsoClient.exe ScanInstallWait intypen in je PowerShell opdrachtprompt. Merk op dat je geen / hoeft te gebruiken voor de parameter.
Als je dit doet als je de Check for updates GUI erbij geopend hebt, dan zie je de GUI animatie dat er wordt gezocht naar Windows Updates (“Checking for updates…”). Worden die gevonden, dan worden ze ook geïnstalleerd.
De beschikbare parameters voor UsoClient.exe zijn (voor zover bekend):
- StartScan – start een scan naar beschikbare updates voor Windows
- StartDownload – download updates
- StartInstall – installeer gedownloade updates. Dit moet je gebruiken na ScanInstallWait.
- RefreshSettings – vernieuw de instellingen als er wijzigingen zijn geweest
- StartInteractiveScan – met deze parameter kan de gebruiker om input of goedkeuring worden gevraagd en/of worden er voortgangsdialogen getoond
- RestartDevice – herstart de computer om de installatie af te ronden
- ScanInstallWait – een gecombineerde ‘scan’ en ‘download’ updates. Dit is wat je veelal wilt, in combinatie met “StartInstall” erna.
- ResumeUpdate – hervat update-installatie na reboot
Zoals gezegd hoef je geen / of – voor de switch te gebruiken. Commando’s voer je simpel in als USOClient.exe ScanInstallWait of USOClient.exe StartInstall.
Welke updates zijn al geïnstalleerd?
Wil je weten welke updates er al op je computer staan? Daarvoor heb je PSWindowsUpdate niet eens nodig. Windows heeft zelf het cmdlet Get-HotFix, dat de geïnstalleerde Windows-updates toont:
Get-HotFix | Sort-Object InstalledOn -Descending | Select-Object -First 5 HotFixID, Description, InstalledOn
HotFixID Description InstalledOn
-------- ----------- -----------
KB5127758 Update 8-10-2026 00:00:00
KB5127776 Update 7-10-2026 00:00:00
KB5124210 Update 3-10-2026 00:00:00
KB5126052 Update 12-9-2026 00:00:00
KB5066383 Update 31-7-2026 00:00:00
Get-HotFix toont alleen updates voor Windows zelf. Met Get-WUHistory uit PSWindowsUpdate zie je de hele updategeschiedenis, dus ook definitie-updates voor Microsoft Defender en updates van apps, met de datum en of de installatie gelukt is:
Get-WUHistory -Last 10 | Select-Object Date, KB, Result, Title
UsoClient parameters verschillen per Windows versie
Als je wilt weten welke parameters UsoClient ondersteunt op jouw computer, voer dan de volgende PowerShell-opdracht uit. In een beheerders venster:
Get-ScheduledTask -TaskPath '\Microsoft\Windows\UpdateOrchestrator\' | Select-Object @{Expression={$_.TaskName};Label="TaskName"}, @{Expression={$_.Actions.Execute + ' ' + $_.Actions.Arguments};Label="CommandLine"}
De uitvoer is bijvoorbeeld:
TaskName CommandLine
-------- -----------
AC Power Install %systemroot%\system32\usoclient.exe StartInstall
Backup Scan %systemroot%\system32\usoclient.exe StartScan
Maintenance Install %systemroot%\system32\usoclient.exe StartInstall
MusUx_LogonUpdateResults %systemroot%\system32\MusNotification.exe LogonUpdateResults
Reboot_AC %systemroot%\system32\MusNotification.exe /RunOnAC RebootDialog
Reboot_Battery %systemroot%\system32\MusNotification.exe /RunOnBattery RebootDialog
Report policies %systemroot%\system32\usoclient.exe ReportPolicies
Schedule Maintenance Work %systemroot%\system32\usoclient.exe StartMaintenanceWork
Schedule Scan %systemroot%\system32\usoclient.exe StartScan
Schedule Scan Static Task %systemroot%\system32\usoclient.exe StartScan
Schedule Wake To Work %systemroot%\system32\usoclient.exe StartWork
Schedule Work %systemroot%\system32\usoclient.exe StartWork
Universal Orchestrator Start %systemroot%\system32\usoclient.exe StartUWork
UpdateModelTask %systemroot%\system32\usoclient.exe StartModelUpdates
USO_UxBroker %systemroot%\system32\MusNotification.exe
Of
TaskName CommandLine
-------- -----------
AC Power Download %systemroot%\system32\usoclient.exe StartDownload
Backup Scan %systemroot%\system32\usoclient.exe StartScan
MusUx_UpdateInterval %systemroot%\system32\MusNotification.exe Display
Schedule Scan %systemroot%\system32\usoclient.exe StartScan
Schedule Scan Static Task %systemroot%\system32\usoclient.exe StartScan
USO_UxBroker %systemroot%\system32\MusNotification.exe
E-mail versturen met PowerShell, bijvoorbeeld als het installeren van updates klaar is of mislukt. Handig! Ook handig: bestanden downloaden met PowerShell.
Conclusie PSWindowsUpdate
De conclusie van werken met PSWindowsUpdate is dat je eenvoudig Windows updates installeert met PowerShell en deze PSWindowsUpdate module. Je vereenvoudigt het Windows-onderhoud door updates in te plannen in de Windows taakplanner en automatisch te installeren.
Wie de tijd neemt deze module te ontdekken en leren kennen kan PSWindowsUpdate gebruiken om updates in een netwerk op een vooraf ingepland tijdstip te installeren. Daarnaast kun je logging instellen om bij te houden of alle updates goed geïnstalleerd zijn. Wil je ook je andere programma’s automatisch bijwerken? Gebruik dan Patch My PC Updater.
Ook handig: weet wat er in je pc zit
Windows-updates en onderhoud gaan een stuk makkelijker als je precies weet wat er in je pc zit: dan vind je sneller de juiste drivers, BIOS-updates en oplossingen.
- Welk moederbord heb ik?
- Welke videokaart heb ik?
- Welke processor heb ik?
- Hoeveel en welk RAM-geheugen heb ik?
- Welke SSD of harde schijf heb ik?
- Welke BIOS-versie heb ik?
- Welke Windows-versie heb ik?
- Belangrijk Windows-onderhoud: 7 tips


