Belangrijkste punten
- Mislukte patches herkennen: gebruik PowerShell (PSWindowsUpdate of gebeurtenissenlogboeken) om mislukte of onvolledige updatepogingen op te sporen voordat u het opnieuw probeert.
- Installatie opnieuw proberen via PowerShell: probeer mislukte updates opnieuw met scriptlogica en foutafhandeling om stille fouten te voorkomen.
- Pogingen bijhouden: sla het aantal pogingen, tijdstempels en mislukte KB’s op in het register om oneindige loops te voorkomen en zicht te houden op de situatie.
- Automatiseren met geplande taken of RMM: plan terugkerende scripts voor patchpogingen of gebruik ze op schaal via NinjaOne, GPO of vergelijkbare tools.
- Updatevoorwaarden valideren: zorg dat updatebronnen bereikbaar zijn en herstart de Windows Update-service voordat u het opnieuw probeert, zodat de slagingskans stijgt.
Mislukte updates zijn een terugkerend probleem binnen patchbeheer en ontstaan vaak door netwerkproblemen, vergrendelde systemen of conflicten tussen services. Blijft dit onopgelost dan kan dat leiden tot instabiele prestaties en worden endpoints kwetsbaar voor dreigingen.
Het automatiseren van patchpogingen beperkt de risico’s, verlaagt de mean time to repair (MTTR) en verhoogt het slagingspercentage van updates zonder technici te overladen met grote hoeveelheden tickets.
Standaardiseer uw patchworkflows en verbeter zo uw MTTR en documentatie.
→ Probeer NinjaOne Autonomous Patch Management gratis
Stappen om patchpogingen te automatiseren en updatefouten te beperken
Automatisch herstel van mislukte patches maakt een einde aan haastige handmatige diagnose en zorgt voor patch compliance op alle endpoints. Dat verlaagt op zijn beurt de werklast van technici en geeft via logboeken inzicht in terugkerende foutpatronen.
📌 Toepassingen: gebruik PowerShell-scripts om eerdere updatepogingen op te sommen en foutcodes te extraheren, zodat scripts het opnieuw kunnen proberen, kunnen wachten of kunnen stoppen. Via geplande taken, RMM-platformen en GPO-implementatie kunnen technici het opnieuw installeren van mislukte of ontbrekende updates automatiseren.
📌 Vereisten:
- Ondersteund OS: Windows 11 of Windows Server 2016 of nieuwer
- Rechten: beheerders- of SYSTEM-rechten
- Updatebron: WSUS, Intune of Windows Update
- Optioneel: RMM-platformen zoals NinjaOne
💡 Let op: sommige stappen kunnen afwijken door standaardinstellingen van het systeem of actieve instellingen per omgeving. Microsoft heeft bovendien aangekondigd dat WSUS wordt uitgefaseerd. Op het moment van schrijven wordt het nog steeds met Windows meegeleverd, maar wij raden aan over te stappen op cloudtools zoals Windows Autopatch en Intune of Azure Update Manager.
Het video-overzicht Patchpogingen automatiseren met PowerShell om handmatig werk te beperken laat zien hoe het kader met vijf stappen mislukte patches opspoort, registreert en opnieuw probeert.
Stap 1: mislukte patches opsporen met PowerShell-scripts
Effectief automatisch herstel van mislukte patches begint met proactieve detectie. De volgende scripts doorzoeken de updategeschiedenis en de resultaten van een endpoint en geven de probleemgevallen terug, zodat u een duidelijker beeld krijgt.
Mislukte patches filteren met de module PSWindowsUpdate
Dit script leest de laatste 200 vermeldingen uit de updategeschiedenis, filtert vervolgens de geslaagde installaties eruit en toont alleen de mislukte vermeldingen.
| Import-Module PSWindowsUpdate # Retrieve failed updates $failedUpdates = Get-WindowsUpdate -IsHidden:$false -ErrorAction SilentlyContinue | Where-Object { $_.ResultCode -ne 2 } # 2 = Succeeded |
⚠️ Belangrijk: als u de installatie van PSWindowsUpdate overslaat, ontstaan er fouten, want deze PowerShell-module zit standaard niet in Windows. (Zie ⚠️ Waar u op moet letten)
Alternatieve methode om mislukte patches te filteren via het Windows-gebeurtenissenlogboek
Dit script doorzoekt de logboeken van de Windows Update-client op vermeldingen met veelvoorkomende foutsignalen, zoals de ID’s 20, 25 en 31.
Get-WinEvent -LogName "System" | Where-Object { $_.ProviderName -eq "Microsoft-Windows-WindowsUpdateClient" -and$_.Id -in 20, 25, 31 # Common failure event IDs } |
Stap 2: mislukte patches opnieuw proberen met PowerShell-logica
Zodra mislukte updates op een endpoint naar boven komen, kunt u PowerShell-scripts gebruiken om de patches automatisch opnieuw te installeren. Daarmee vervalt het handmatige patchwerk en kunt u op schaal herstellen zonder tussenkomst zodra een mislukte patch wordt gedetecteerd.
Voorbeeldscript in PowerShell om mislukte updates opnieuw te installeren
Dit script bouwt voort op $failedUpdates uit stap 1 en doorloopt de opgesomde mislukte updates voor herinstallatie.
foreach ($update in $failedUpdates) { Write-Output "Retrying: $($update.Title)"Install-WindowsUpdate -KBArticleID $update.KBArticleID -AcceptAll -AutoReboot -IgnoreReboot -ErrorAction Continue } |
Voorbeeldscript met foutafhandeling
| try { Install-WindowsUpdate -KBArticleID $update.KBArticleID -AcceptAll -ErrorAction Stop } catch { Write-Output "Retry failed for: $($update.KBArticleID) - $_"} |
⚠️ Belangrijk: gebruik foutafhandeling zodat scripts niet stilzwijgend mislukken. (Zie ⚠️ Waar u op moet letten.)
Stap 3: pogingen registreren en volgen via het register
Gebruik het register om het aantal pogingen en de mislukte KB’s op te slaan voor snelle lokale zoekopdrachten. Zo houdt u blijvend zicht op de situatie, zelfs wanneer een endpoint offline is tijdens een storing van WSUS of RMM.
Voorbeeldscript in PowerShell om pogingen en tijdstempels van resultaten in het register bij te houden:
New-Item -Path "HKLM:\SOFTWARE\Org\PatchRetry" -ForceSet-ItemProperty -Path "HKLM:\SOFTWARE\Org\PatchRetry" -Name "LastRetry" -Value (Get-Date).ToString("u")Set-ItemProperty -Path "HKLM:\SOFTWARE\Org\PatchRetry" -Name "FailedKBs" -Value ($failedUpdates.KBArticleID -join ", ") |
Voorbeeldscript in PowerShell om de patchstatus via het register te controleren:
Get-ItemProperty -Path 'HKLM:\SOFTWARE\Org\PatchRetry' |
Stap 4: pogingen automatiseren met geplande taken of NinjaOne RMM
Plan scripts op al uw endpoints om regelmatig de compliance te controleren en patches automatisch opnieuw te installeren op devices die niet compliant zijn. Met NinjaOne kunnen technici samengestelde voorwaarden maken, zodat patchpogingen na een mislukte uitvoering opnieuw worden toegepast.
Een terugkerende geplande taak maken met een bestaand .ps1-script via CMD:
schtasks /create /tn "RetryFailedPatches" /tr "powershell.exe -File C:\Scripts\PatchRetry.ps1" /sc daily /st 02:00 /ru SYSTEM |
💡 Tip: sla het script uit stap 2 op als .ps1-bestand en laat uw opdracht naar dat pad verwijzen.
Registerwaarden automatisch bijwerken en succes of pogingslimiet bewaken via een PowerShell-script
$retryCount = (Get-ItemProperty -Path "HKLM:\SOFTWARE\Org\PatchRetry").RetryCountif ($retryCount -gt 3) { # escalate or log for technician } |
Stap 5: GPO’s gebruiken voor updateinstellingen die nieuwe pogingen ondersteunen
Geautomatiseerde patchpogingen werken het best wanneer Windows Update zich voorspelbaar gedraagt. Technici kunnen GPO’s gebruiken om updates vooraf te downloaden, installaties te plannen en reboots uit te stellen binnen basisconfiguraties.
⚠️ Waarschuwing: het is verstandig om GPO’s lokaal te testen voordat u ze uitrolt. (Zie ⚠️ Waar u op moet letten.)
- Open de Groepsbeleidsbeheerconsole (gpmc.msc) en ga naar:
Computerconfiguratie > Beheersjablonen > Windows-onderdelen > Windows Update
- Configureer het volgende beleid:
| Instellingen | Aanbevolen configuratie | Omschrijving |
| Automatische updates configureren | Schakel het selectievakje naast Automatisch downloaden en installatie plannen in. | Downloadt updates automatisch vooraf en installeert ze volgens een vast schema. |
| Locatie van de Microsoft-updateservice op intranet opgeven | Selecteer Ingeschakeld en voer de HTTP(S)-URL van uw WSUS-server in bij de volgende velden:
| Geeft aan welke WSUS-server Automatische updates raadpleegt voor updates. |
| Geen automatisch opnieuw opstarten voor geplande installaties van automatische updates | Configureer het beleid als Ingeschakeld. | Schakelt automatisch opnieuw opstarten uit wanneer iemand is aangemeld, zodat sessies niet worden onderbroken. |
| Opnieuw vragen om opnieuw op te starten bij geplande installaties | Configureer het beleid als Uitgeschakeld. | Zorgt dat gebruikers tijdens hun sessie niet telkens worden gevraagd om na een geplande update opnieuw op te starten. |
- Koppel de GPO aan een OU en voer daarna de volgende PowerShell-opdracht uit op een endpoint: gpupdate /force
⚠️ Waar u op moet letten
| Risico’s | Mogelijke gevolgen | Oplossingen |
| De installatie van de module PSWindowsUpdate overslaan | Windows Update-cmdlets gebruiken zonder de vereiste PowerShell-module leidt tot fouten. | Laad de module PSWindowsUpdate door Import-Module PSWindowsUpdate in te voeren op een PowerShell-prompt. |
| Geen foutafhandeling in scripts opnemen | Scripts mislukken stilzwijgend zonder goede foutafhandeling, waardoor technici moeten raden wat er misging. | Gebruik foutafhandeling in PowerShell in uw scripts voor betere documentatie wanneer er fouten optreden. |
| Ongeteste GPO’s uitrollen | Ongeteste GPO’s kunnen onjuiste configuraties bevatten die endpoints na uitrol ernstig kunnen verstoren. | Test GPO’s lokaal in een gecontroleerde omgeving voordat u ze in de hele omgeving uitrolt. |
Aandachtspunten bij het automatiseren van patchpogingen voor mislukte updates
Bij het automatiseren van patchpogingen is een vlotte overgang tussen de stappen cruciaal, want één hapering kan al fouten veroorzaken. Met de volgende aandachtspunten bepalen scripts beter welke stap ze moeten nemen, waardoor meer pogingen slagen.
Pogingslimieten afdwingen
Pogingslimieten in het register voorkomen oneindige loops en een stortvloed aan tickets. Stel per uitvoering een verhoging in om de wachttijd na elke mislukte poging te verlengen. Zodra het maximale aantal pogingen is bereikt, voorkomen de limieten dat scripts opnieuw worden uitgevoerd en wordt de kwestie eenmalig geëscaleerd.
De Windows Update-service herstarten
Patches kunnen mislukken wanneer Windows Update (wuauserv) onbereikbaar is en een snelle herstart van de service lost dat vaak op. Het is daarom verstandig om Windows Update te herstarten voordat u een nieuwe poging begint.
- Voorbeeldscript in PowerShell om wuauserv te herstarten: Restart-Service -Name wuauserv
Oplossing voor offline devices
Offline devices verbruiken snel alle pogingen, waardoor scripts ze helemaal overslaan. Via RMM-platformen zoals NinjaOne kunnen technici een voorwaarde op het scriptresultaat instellen om het buiten piekuren opnieuw te proberen of een reboot uit te voeren.
Patchbronnen valideren
Voordat een nieuwe poging start, moeten scripts controleren of de patchbron bereikbaar is, want onbereikbare bronnen zijn vaak de oorzaak van fouten. Blijkt de bron niet beschikbaar, las dan een korte wachttijd in maar tel dit niet als mislukte poging. Mislukt één KB, sla die dan tijdelijk over, ga verder met de andere patches en probeer het later opnieuw.
Quick-start guide
NinjaOne biedt verschillende functies om patchbeheer te automatiseren en handmatig ingrijpen te beperken:
1. Patch Intelligence AI
Beoordeelt elke zes uur automatisch de risico’s van patches
- Kan patches op basis van feedback uit de community verplaatsen tussen de statussen goedgekeurd, handmatig en afgewezen
- Helpt risico’s van mogelijk problematische patches te beperken
2. Strategieën voor goedkeuring en nieuwe pogingen
Meerdere niveaus van patchgoedkeuring:
- Overrides op deviceniveau
- Overrides op beleidsniveau
- Globale goedkeuringen/afwijzingen vooraf
- Kan patches automatisch goedkeuren na een opgegeven aantal dagen (tot 30 dagen voor updates, 365 dagen voor functie-updates)
- Maakt handmatige goedkeuring of afwijzing van patches mogelijk op KB-nummer of patch-ID
3. Ring deployment
Gefaseerde uitrol van patches om risico’s te beperken
- Maak devicegroepen voor verschillende deployment rings
- Test patches op een kleine groep devices vóór een bredere uitrol
4. Patches plannen en opnieuw proberen
Aanbevolen wordt om scan- en updatecycli minstens een uur uit elkaar te plannen
- Scancycli draaien vóór de installatiecycli
- Instelbare rebootopties en meldingen
Problemen oplossen bij het automatiseren van scripts voor patchpogingen
Probleem 1: geen activiteit bij nieuwe pogingen
Zonder voldoende rechten wordt de retrylogica niet uitgevoerd en ziet u geen enkele activiteit. Controleer als oplossing of het script als SYSTEM draait of de hoogste rechten heeft. Valideer daarnaast de syntaxis van uw script en controleer of alle opgegeven paden bestaan.
Probleem 2: update niet gevonden
Controleer of de ontbrekende update beschikbaar is via de bron die u hebt opgegeven. Overweeg alternatieve bronnen zoals Windows Update in plaats van Windows Server Update Services (WSUS) om te voorkomen dat pogingen verloren gaan aan nutteloze zoekopdrachten.
Probleem 3: updates mislukken telkens opnieuw
Combineer uw pogingen met de inzichten uit de Windows Update-logboeken, zodat u de fouten binnen mislukte patches precies kunt aanwijzen.
- Voorbeeldscript in PowerShell om de Windows Update-logboeken te raadplegen:
Import-Module PSWindowsUpdate
Get-WindowsUpdateLog
Probleem 4: reboot-loop
Updates vragen soms om een reboot van het device voordat ze worden toegepast en afsluiten heeft niet hetzelfde effect. Mist u dat moment, dan belandt u snel in een cyclus waarin u patches opnieuw toepast zonder zichtbaar resultaat. Controleer daarom of een endpoint om een herstart vraagt, bevestig die en probeer de update daarna opnieuw.
NinjaOne-services die het automatiseren van patchpogingen vereenvoudigen
NinjaOne helpt bij het automatiseren van patchopdrachten en herstelacties om compliance te waarborgen en handmatig ingrijpen te beperken. Hier zijn enkele functies van NinjaOne waarmee u het automatiseren van patchpogingen op schaal eenvoudiger maakt.
- Geplande taak via beleid. Gebruik de mogelijkheden van NinjaOne voor geplande automatisering om nieuwe pogingen binnen bepaalde intervallen over devicegroepen in te stellen.
- Dashboard voor patchbeheer. Het dashboard van NinjaOne deelt devices in op mislukte, geslaagde en openstaande patches voor meer inzicht. Technici kunnen via het dashboard ook eenvoudig aangepaste patchrapporten genereren.
- Samengestelde voorwaarden. Maak aangepaste triggers voor automatisering, zoals het versturen van meldingen, het starten van scripts of het escaleren van zaken, op basis van voorwaarden voor scriptresultaten.
- Scripts op afstand uitvoeren. Voer scripts op afstand en op schaal uit, zodat mislukte patches in de hele omgeving consistent opnieuw worden geprobeerd.
Automatiseer uw patchdocumentatie voor efficiënte foutafhandeling.
Automatiseer het herstel van mislukte patches voor maximale beschikbaarheid
Van het raadplegen van de updategeschiedenis tot het afdwingen van basisbeleid: deze gids geeft technici een stevige basis voor automatisering. Met NinjaOne voor monitoring, scriptuitrol en planning kunt u de logica voor patchpogingen automatiseren binnen een enkel dashboard.
Door automatiseringsstrategieën samen te brengen in één centraal platform, wordt het hele automatiseringskader proactief en kunt u snel herstellen zodra er problemen worden gedetecteerd. Dat beperkt uitvaltijd, verlaagt het aantal tickets en zorgt voor consistente patch compliance op al uw endpoints.
Gerelateerde onderwerpen:
