Level utilise l'API de l'agent Windows Update Microsoft (WUA) pour détecter et gérer les correctifs. Si vous constatez des nombres de correctifs inattendus, des mises à jour manquantes ou aucune mise à jour du tout, les deux causes les plus courantes sont les différences d'ensemble de résultats entre WUA et d'autres sources de mise à jour, et la configuration WSUS restante qui redirige les appareils loin des serveurs de mise à jour de Microsoft.
Comment Level interroge les mises à jour Windows
Level interroge l'API WUA Microsoft pour les correctifs disponibles et installés. L'API WUA est celle utilisée en interne par Windows, mais ses résultats ne correspondent pas à l'historique des mises à jour Windows. Ne comparez pas les deux directement — elles tirent de magasins de données différents.
Pour voir exactement ce que l'API WUA retourne pour un appareil donné, exécutez ces commandes dans PowerShell.
Correctifs installés :
$Session = New-Object -ComObject Microsoft.Update.Session
$Searcher = $Session.CreateUpdateSearcher()
$Searcher.Search("IsInstalled=1").Updates | ft -a title
Correctifs en attente :
$Session = New-Object -ComObject Microsoft.Update.Session
$Searcher = $Session.CreateUpdateSearcher() $Searcher.Search("IsInstalled=0").Updates | ft -a title
Si la liste des correctifs de Level correspond à ce que ces commandes retournent, Level fonctionne correctement. Toute divergence vit dans la couche WUA elle-même.
Diagnostic des problèmes liés à WSUS
Si Level n'affiche aucune mise à jour disponible et que les commandes WUA ci-dessus retournent également rien, une configuration WSUS restante est la cause probable. Les appareils pointant toujours vers un serveur WSUS n'interrogeront pas les serveurs de mise à jour de Microsoft, donc Level n'a rien à signaler.
Vérifier la configuration WSUS
Exécutez ceci dans PowerShell pour inspecter la clé de registre Windows Update :
Get-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate"
Si la sortie inclut des références à une adresse de serveur WSUS, l'appareil n'a pas été reconfiguré.
Supprimer les paramètres WSUS
La correction appropriée est d'inverser l'objet de stratégie de groupe qui avait initialement poussé WSUS vers les appareils. Si cela n'est pas possible, le script suivant supprime manuellement les paramètres du client WSUS :
⚠️ AVERTISSEMENT : Testez sur un seul appareil avant de déployer en production. Si le GPO qui a configuré WSUS est toujours actif, les paramètres réapparaîtront lors du prochain rafraîchissement des stratégies. Supprimer le GPO est le seul correctif permanent.
PowerShell
# Arrêtez les services BITS et Windows Update
Stop-Service -Name BITS, wuauserv -Force
# Supprimez les propriétés de configuration du client WSUS
$wsusProperties = @("AccountDomainSid", "PingID", "SusClientId", "SusClientIDValidation")
foreach ($property in $wsusProperties) {
Remove-ItemProperty -Name $property -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\" -ErrorAction SilentlyContinue
}
# Supprimez le dossier SoftwareDistribution
Remove-Item "$env:SystemRoot\SoftwareDistribution\" -Recurse -Force -ErrorAction SilentlyContinue
# Démarrez les services BITS et Windows Update
Start-Service -Name BITS, wuauserv
# Facultatif, réinitialisez les paramètres du client Windows Update
# Cette étape garantit que le client se réenregistre et vérifie les mises à jour à partir de la bonne source
$wuaucltPath = "$env:SystemRoot\System32\wuauclt.exe"
if (Test-Path -Path $wuaucltPath) {
Start-Process -FilePath $wuaucltPath -ArgumentList "/resetauthorization /detectnow" -NoNewWindow
} else {
Write-Output "wuauclt.exe not found. Ensure the Windows Update client is available."
}
Après l'exécution, Level interroge à nouveau WUA lors du prochain synchronisation. Les mises à jour provenant des serveurs de Microsoft devraient apparaître à ce moment.
💡 CONSEIL : Enregistrez ceci en tant que script dans la bibliothèque de scripts de Level pour le déployer via une automatisation sur plusieurs appareils à la fois plutôt que de l'exécuter manuellement.
FAQ
Level affiche les mises à jour, mais l'historique des mises à jour Windows dit qu'elles sont déjà installées. Qui a raison ? Les deux peuvent avoir raison. Level interroge directement l'API WUA ; l'historique des mises à jour Windows lit un journal séparé. Les commandes PowerShell WUA ci-dessus sont la vérité absolue pour ce que Level voit. Si ces commandes retournent les mêmes correctifs que Level affiche, Level se comporte correctement.
Le script de nettoyage WSUS a été exécuté mais les appareils pointent toujours vers WSUS. Le GPO qui a configuré WSUS est probablement toujours actif. Le script supprime les valeurs de registre actuelles, mais la stratégie les réapplique lors du prochain rafraîchissement. Inversez ou désactivez d'abord le GPO.
Après la suppression de la configuration WSUS, combien de temps avant que Level n'affiche les mises à jour ? Level interroge à nouveau WUA lors du prochain cycle d'enregistrement de l'appareil. Dans la plupart des cas, les données de correctifs mises à jour apparaissent dans quelques minutes après la reconnexion de l'appareil ou l'interrogation de l'agent.
Puis-je exécuter le script de nettoyage WSUS sur tous les appareils affectés à la fois ? Oui. Enregistrez-le en tant que script dans Automatisations → Scripts, puis exécutez-le via une automatisation ciblant les appareils pertinents ou via une exécution ad-hoc à partir de la liste des appareils.
