Points clés
- Identifier les correctifs en échec : utilisez PowerShell (PSWindowsUpdate ou les journaux d’événements) pour détecter les tentatives de mise à jour échouées ou incomplètes avant de relancer l’opération.
- Relancer l’installation avec PowerShell : retentez les mises à jour échouées à l’aide de scripts intégrant une gestion des erreurs, afin d’éviter les échecs silencieux.
- Suivre les tentatives : enregistrez le nombre de tentatives, les horodatages et les KB en échec dans le Registre pour éviter les boucles infinies et conserver de la visibilité.
- Automatiser avec des tâches planifiées ou un RMM : planifiez des scripts récurrents de relance des correctifs ou déployez-les à grande échelle avec NinjaOne, une GPO ou des outils similaires.
- Valider les conditions de mise à jour : assurez-vous que les sources de mise à jour sont accessibles et redémarrez le service Windows Update avant chaque nouvelle tentative pour augmenter le taux de réussite.
Les mises à jour en échec sont un problème récurrent de la gestion des correctifs. Elles proviennent souvent de problèmes réseau, de verrous système ou de conflits entre services. Sans correction, elles peuvent dégrader les performances et exposer les terminaux à des menaces.
Automatiser la relance des correctifs permet de limiter les risques, de réduire le temps moyen de réparation (MTTR) et d’améliorer le taux de réussite des mises à jour, sans surcharger les techniciens avec un volume de tickets trop élevé.
Standardisez vos processus de mise à jour pour améliorer le MTTR et la documentation.
→ Essayez gratuitement la Gestion autonome des correctifs de NinjaOne
Automatiser la relance des correctifs pour limiter les échecs de mise à jour
La correction automatique des échecs de correctifs supprime le besoin de diagnostics manuels précipités et garantit la conformité des correctifs sur l’ensemble des terminaux. Résultat : la charge de travail des techniciens diminue, tandis que les journaux donnent de la visibilité sur les schémas d’échec récurrents.
📌 Cas d’usage : utilisez des scripts PowerShell pour lister les tentatives de mise à jour passées et extraire les codes d’erreur, afin que les scripts puissent relancer, temporiser ou s’arrêter. Grâce aux tâches planifiées, aux plateformes RMM et au déploiement par GPO, les techniciens peuvent automatiser la relance des correctifs manquants ou en échec.
📌 Prérequis :
- Système d’exploitation pris en charge : Windows 11 ou Windows Server 2016 et versions ultérieures
- Autorisations : privilèges administrateur ou SYSTEM
- Source de mise à jour : WSUS, Intune ou Windows Update
- Facultatif : une plateforme RMM comme NinjaOne
💡 Remarque : certaines étapes peuvent varier selon les valeurs par défaut du système ou les paramètres actifs de chaque environnement. Par ailleurs, Microsoft a annoncé l’abandon progressif de WSUS. Bien qu’il soit encore fourni avec Windows à l’heure où nous écrivons ces lignes, nous recommandons de migrer vers des outils cloud comme Windows Autopatch et Intune, ou Azure Update Manager.
Étape 1 : identifier les correctifs en échec avec des scripts PowerShell
Une correction automatisée efficace des échecs de correctifs commence par une détection proactive. Les scripts suivants interrogent l’historique des mises à jour d’un terminal et leurs résultats, puis renvoient les entrées problématiques pour y voir plus clair.
Trier les correctifs en échec avec le module PSWindowsUpdate
Ce script lit les 200 dernières entrées de l’historique des mises à jour, exclut les installations réussies et n’affiche que les entrées en échec.
| Import-Module PSWindowsUpdate # Retrieve failed updates $failedUpdates = Get-WindowsUpdate -IsHidden:$false -ErrorAction SilentlyContinue | Where-Object { $_.ResultCode -ne 2 } # 2 = Succeeded |
⚠️ Important : ne pas installer PSWindowsUpdate provoquera des erreurs, car ce module PowerShell n’est pas intégré à Windows par défaut. (Voir ⚠️ Points de vigilance)
Autre méthode : trier les correctifs en échec via le journal d’événements Windows
Ce script interroge les journaux du client Windows Update et recherche les entrées présentant des signaux d’échec courants, comme les ID 20, 25 et 31.
Get-WinEvent -LogName "System" | Where-Object { |
Étape 2 : relancer les correctifs en échec avec PowerShell
Une fois les mises à jour en échec identifiées sur un terminal, des scripts PowerShell peuvent relancer automatiquement leur installation. Vous supprimez ainsi les tâches de mise à jour manuelles et obtenez une correction sans intervention, à grande échelle, dès qu’un échec est détecté.
Exemple de script PowerShell pour relancer l’installation des mises à jour en échec
Ce script s’appuie sur $failedUpdates, comme à l’étape 1, et parcourt la liste des mises à jour en échec pour les réinstaller.
foreach ($update in $failedUpdates) { |
Exemple de script avec gestion des erreurs
try { |
⚠️ Important : utilisez la gestion des erreurs pour éviter que vos scripts n’échouent en silence. (Voir ⚠️ Points de vigilance.)
Étape 3 : consigner les tentatives de relance dans le Registre pour en assurer le suivi
Utilisez le Registre pour stocker le nombre de tentatives et les KB en échec, ce qui permet des requêtes locales rapides. Vous conservez ainsi une identification persistante, même lorsqu’un terminal est déconnecté lors d’une panne WSUS ou RMM.
Exemple de script PowerShell pour suivre les tentatives et les horodatages des résultats dans le Registre :
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 ", ") |
Exemple de script PowerShell pour vérifier l’état des correctifs via le Registre :
| Get-ItemProperty -Path ‘HKLM:\SOFTWARE\Org\PatchRetry’ |
Étape 4 : automatiser la relance avec des tâches planifiées ou NinjaOne RMM
Planifiez des scripts sur l’ensemble de vos terminaux pour vérifier régulièrement la conformité et réinstaller automatiquement les correctifs sur les appareils non conformes. Avec NinjaOne, les techniciens peuvent créer des conditions composées afin que les relances de correctifs soient réappliquées après une exécution en échec.
Créer une tâche planifiée récurrente à partir d’un script .ps1 existant via CMD (invite de commande) :
schtasks /create /tn "RetryFailedPatches" /tr "powershell.exe -File C:\Scripts\PatchRetry.ps1" /sc daily /st 02:00 /ru SYSTEM |
💡 Conseil : enregistrez le script de relance présenté à l’étape 2 sous forme de fichier .ps1, puis pointez votre commande vers son chemin d’accès.
Mettre à jour automatiquement les valeurs du Registre et surveiller la réussite ou la limite de tentatives via un script PowerShell
$retryCount = (Get-ItemProperty -Path "HKLM:\SOFTWARE\Org\PatchRetry").RetryCountif ($retryCount -gt 3) { # escalate or log for technician } |
Étape 5 : utiliser une GPO pour garantir des paramètres de mise à jour compatibles avec la relance
Les relances automatisées de correctifs sont d’autant plus efficaces que le comportement de Windows Update est prévisible. Les techniciens peuvent déployer des GPO pour prétélécharger le contenu des mises à jour, planifier les installations et différer les redémarrages au sein de leurs références de configuration.
⚠️ Avertissement : il est recommandé de tester les GPO en local avant de les déployer. (Voir ⚠️ Points de vigilance.)
- Ouvrez la console de gestion des stratégies de groupe (gpmc.msc), puis rendez-vous dans :
Configuration ordinateur > Modèles d’administration > Composants Windows > Windows Update
- Configurez les politiques suivantes :
| Paramètres | Configuration recommandée | Définition |
| Configurer les mises à jour automatiques | Cochez la case Téléchargement automatique et planification des installations. | Prétélécharge automatiquement les mises à jour et les installe selon un calendrier défini. |
| Spécifier l’emplacement intranet du service de mise à jour Microsoft | Sélectionnez Activé et saisissez l’URL HTTP(S) de votre serveur WSUS dans les champs suivants :
|
Indique le serveur WSUS que les mises à jour automatiques interrogeront. |
| Pas de redémarrage automatique pour les installations planifiées de mises à jour automatiques | Configurez la politique sur Activé. | Désactive les redémarrages automatiques lorsqu’un utilisateur est connecté, ce qui évite les interruptions en pleine session. |
| Redemander le redémarrage avec les installations planifiées | Configurez la politique sur Désactivé. | Cesse d’inviter les utilisateurs à redémarrer en pleine session après une mise à jour planifiée. |
- Après avoir lié la GPO à une OU (unité organisationnelle), saisissez la commande PowerShell suivante sur un terminal cible : gpupdate /force
⚠️ Points de vigilance
| Risques | Conséquences possibles | Solutions |
| Ne pas installer le module PSWindowsUpdate | Utiliser les cmdlets Windows Update sans le module PowerShell requis génère des erreurs. | Chargez le module PSWindowsUpdate en saisissant Import-Module PSWindowsUpdate dans une invite PowerShell. |
| Ne pas intégrer de gestion des erreurs dans les scripts | Sans gestion des erreurs, les scripts échouent en silence et les techniciens en sont réduits à deviner l’origine du problème. | Intégrez la gestion des erreurs PowerShell à vos scripts pour mieux documenter les erreurs qui surviennent. |
| Déployer des GPO non testées | Des GPO non testées peuvent contenir des erreurs de configuration lourdes de conséquences pour les terminaux une fois déployées. | Testez les GPO en local, dans un environnement contrôlé, avant de les déployer à l’échelle de votre environnement. |
Ce qu’il faut prendre en compte pour automatiser la relance des correctifs en échec
Lorsque vous automatisez les relances de correctifs, la fluidité du passage d’une étape à l’autre est déterminante : le moindre accroc peut générer des erreurs. Les points suivants aident vos scripts à choisir la bonne étape et améliorent le taux de réussite des relances.
Imposer des limites de tentatives
Des limites de tentatives stockées dans le Registre évitent les boucles de relance infinies et le spam de tickets. Prévoyez un incrément à chaque exécution afin d’allonger le délai d’attente après chaque échec. Une fois le nombre maximal de tentatives atteint, ces limites empêchent les scripts de s’exécuter et déclenchent une seule escalade.
Redémarrer le service Windows Update
Des échecs de mise à jour peuvent survenir lorsque Windows Update (wuauserv) est inaccessible, et un simple redémarrage du service suffit souvent à résoudre le problème. Il est donc conseillé de redémarrer Windows Update avant de lancer une nouvelle tentative.
- Exemple de script PowerShell pour redémarrer wuauserv : Restart-Service -Name wuauserv
Solution pour les appareils hors ligne
Les appareils hors ligne épuisent rapidement les limites de tentatives, ce qui conduit les scripts à les ignorer purement et simplement. Avec une plateforme RMM comme NinjaOne, les techniciens peuvent définir une condition sur le résultat d’un script pour relancer l’opération ou redémarrer l’appareil en dehors des heures de pointe.
Valider les sources de correctifs
Avant toute relance, les scripts doivent vérifier que leur source de correctifs est accessible, car les sources injoignables sont une cause fréquente d’échec. Si la source est indisponible après vérification, prévoyez un court délai d’attente, sans le comptabiliser comme une tentative échouée. Si un seul KB échoue, mettez-le de côté, poursuivez avec les autres correctifs, puis réessayez plus tard.
Guide de démarrage rapide
NinjaOne propose plusieurs fonctions pour automatiser la gestion des correctifs et réduire les interventions manuelles :
1. Données IA sur les correctifs
Évalue automatiquement les risques liés aux correctifs toutes les six heures
- Peut faire passer les correctifs d’un état à l’autre (approuvé, manuel, rejeté) en fonction des retours de la communauté
- Aide à limiter les risques liés aux correctifs potentiellement problématiques
2. Stratégies d’approbation et de relance
Plusieurs niveaux d’approbation des correctifs :
- Dérogations au niveau de l’appareil
- Dérogations au niveau de la politique
- Approbations ou rejets préventifs au niveau global
- Possibilité d’approuver automatiquement les correctifs après un nombre de jours défini (jusqu’à 30 jours pour les mises à jour, 365 jours pour les mises à jour de fonctionnalités)
- Approbation ou rejet manuel des correctifs par numéro de KB ou par Patch ID
3. Déploiement par anneaux
Déploiement progressif des correctifs pour limiter les risques
- Créez des groupes d’appareils correspondant aux différents anneaux de déploiement
- Testez les correctifs sur un petit échantillon d’appareils avant un déploiement plus large
4. Planification et relance des correctifs
Il est recommandé d’espacer les cycles d’analyse et de mise à jour d’au moins une heure
- Les cycles d’analyse s’exécutent avant les cycles d’application
- Options de redémarrage et notifications configurables
Résoudre les problèmes liés à l’automatisation des scripts de relance
Problème n° 1 : aucune activité de relance
Sans élévation de privilèges, la logique de relance ne s’exécute pas et aucune activité n’apparaît. Pour y remédier, vérifiez que le script s’exécute en tant que SYSTEM ou avec les privilèges les plus élevés. Validez également la syntaxe de votre script et assurez-vous que tous les chemins référencés existent.
Problème n° 2 : mise à jour introuvable
Vérifiez que la mise à jour manquante est bien disponible depuis la source que vous avez indiquée. Envisagez d’autres sources, comme Windows Update plutôt que Windows Server Update Services (WSUS), afin de ne pas gaspiller vos tentatives en requêtes inutiles.
Problème n° 3 : les mises à jour échouent systématiquement
Combinez vos relances aux informations issues des journaux Windows Update : vous pourrez ainsi cerner précisément les erreurs à l’origine des correctifs en échec.
- Exemple de script PowerShell pour interroger les journaux Windows Update :
Import-Module PSWindowsUpdate
Get-WindowsUpdateLog
Problème n° 4 : boucle de redémarrage
Certaines mises à jour exigent un redémarrage de l’appareil avant d’être appliquées, et un simple arrêt n’a pas le même effet. Si cette étape est manquée, on entre facilement dans un cycle de réapplication des correctifs sans le moindre changement visible. Pour éviter cela, vérifiez si un terminal demande un redémarrage, validez-le, puis relancez la mise à jour.
Les services NinjaOne qui simplifient l’automatisation des relances de correctifs
NinjaOne aide à automatiser les requêtes et la correction des correctifs afin de garantir la conformité et de réduire le besoin d’intervention manuelle. Voici quelques fonctions NinjaOne sur lesquelles vous appuyer pour simplifier l’automatisation des relances de correctifs à grande échelle.
- Tâches planifiées par politique. Utilisez les capacités d’automatisation planifiée de NinjaOne pour programmer des relances sur des groupes d’appareils à des intervalles définis.
- Tableau de bord de gestion des correctifs. Le tableau de bord NinjaOne classe les appareils selon les correctifs en échec, réussis et en attente, pour une meilleure visibilité. Les techniciens peuvent aussi y générer facilement des rapports de correctifs personnalisés.
- Conditions composées. Créez des déclencheurs d’automatisation personnalisés, par exemple l’envoi de notifications, l’exécution de scripts ou l’escalade de cas, en fonction du résultat de vos scripts.
- Déploiement de scripts à distance. Exécutez des scripts à distance et à grande échelle, pour une automatisation cohérente des relances de correctifs dans tout votre environnement.
Automatisez la documentation des correctifs pour une gestion efficace des erreurs.
Automatisez la correction des échecs de correctifs pour maximiser la disponibilité
De l’interrogation de l’historique des mises à jour à l’application de politiques de référence, ce guide donne aux techniciens des bases solides en matière d’automatisation. NinjaOne prenant en charge la surveillance, le déploiement de scripts et la planification, la logique de relance des correctifs peut être automatisée depuis un panneau de contrôle centralisé.
Regrouper ses stratégies d’automatisation au sein d’une plateforme centralisée rend l’ensemble du dispositif proactif et permet de corriger rapidement les problèmes dès leur détection. Vous réduisez ainsi les temps d’arrêt, le volume de tickets, et vous garantissez une conformité des correctifs homogène sur tous les terminaux.
Sujets connexes :
- Comment utiliser PowerShell pour automatiser les mises à jour de fonctionnalités de Windows 11
- Qu’est-ce que la gestion des correctifs Windows ? Présentation et mode d’emploi
- Qu’est-ce que la conformité des correctifs ?
- Les secrets d’une mise à jour sans douleur à grande échelle
- Bonnes pratiques de gestion des correctifs pour améliorer la conformité et la sécurité