Vous voyez « Mises à jour prêtes à être installées », mais au clic sur Installer le serveur télécharge encore pendant de longues minutes ? Voici comment forcer le pré‑téléchargement silencieux et éviter les mauvaises surprises lors de vos fenêtres de maintenance.
Téléchargement des mises à jour Windows qui démarre seulement après avoir cliqué sur « Installer »
Vue d’ensemble de la question
Sur plusieurs serveurs Windows autonomes (hors domaine), la boîte de dialogue Windows Update annonce : « Mises à jour prêtes à être installées ». Pourtant, au moment de cliquer sur Installer, une phase de téléchargement longue (≈ 1 h 30) débute. L’administrateur en déduit que les correctifs n’étaient pas réellement pré‑téléchargés et souhaite savoir :
- si sa configuration est incorrecte ;
- comment forcer le téléchargement automatique en arrière‑plan avant l’étape d’installation.
Réponse & solution
1) Vérifier/ajuster la stratégie « Configure Automatic Updates » (GPEDIT)
gpedit.msc
→ Configuration ordinateur
→ Modèles d’administration
→ Composants Windows
→ Windows Update
→ Configure Automatic Updates
- Activer la stratégie puis choisir Option 3 : « Auto download and notify for install » (Téléchargement automatique, notification avant installation).
- Redémarrer la machine ou exécuter
gpupdate /force
pour appliquer immédiatement la stratégie.
2) Comprendre les autres options possibles
Option | Effet principal | Utilisation typique sur serveur |
---|---|---|
2 – Notifier pour télécharger et installer | Aucun téléchargement tant qu’un administrateur n’a pas cliqué. | À éviter si vous voulez un pré‑téléchargement. |
3 – Télécharger automatiquement, notifier pour installer | Téléchargement silencieux en arrière‑plan ; seule l’installation nécessite une action. | Recommandé pour la plupart des serveurs autonomes. |
4 – Télécharger automatiquement, programmer l’installation | Téléchargement silencieux ; installation planifiée (jour/heure à définir). | Utile pour des fenêtres de maintenance fixes. |
5 – Laisser l’administrateur local choisir | Réglages via l’interface locale. | OK en labo ; moins prévisible en prod. |
3) Pièges courants qui déclenchent un téléchargement tardif
- Bouton « Rechercher des mises à jour » : un scan manuel peut redéterminer l’ensemble applicable (nouvelle évaluation) et provoquer un nouveau téléchargement complet. Évitez‑le si vous vérifiez la stratégie.
- Option 2 active (Notifier pour télécharger) : le système attend explicitement votre clic pour télécharger.
- Mémoire/Disque insuffisant : le cache de Windows Update est purgé et devra retélécharger (vérifiez la partition système).
- Proxy/pare‑feu : si le trafic vers les services Microsoft Update est bloqué, le téléchargement échoue en tâche de fond et ne démarre vraiment qu’au clic (et encore…).
- WSUS résiduel : une ancienne configuration « Utiliser un serveur WSUS » peut forcer un comportement inattendu (clé
UseWUServer
dans le Registre).
4) Contrôle a posteriori
- Après le prochain Patch Tuesday, surveillez
C:\Windows\SoftwareDistribution\Download
: l’horodatage/poids des fichiers doit précéder votre clic sur Installer. - Observateur d’événements : Applications and Services Logs → Microsoft → Windows → WindowsUpdateClient → Operational : vous devez voir des entrées de type Download started puis Download completed avant l’installation.
Pourquoi Windows annonce « prêtes à installer » puis télécharge quand même ?
La mention « prêtes à installer » correspond à un état métadonnées prêtes (l’appareil sait quoi installer). Cela ne garantit pas que toutes les payloads binaires soient déjà en cache. Plusieurs facteurs expliquent l’écart :
- Option 2 active : aucun binaire n’est téléchargé tant que vous n’avez pas validé.
- Modifications de l’ensemble applicable entre le dernier scan et votre clic (nouvelles super‑sessions, nouveaux prérequis comme un SSU/LCU) : Windows doit compléter les téléchargements.
- Nettoyage de cache (tâches de maintenance, Disk Cleanup, antivirus) : les fichiers de
SoftwareDistribution
ont été supprimés. - Connexion mesurée ou BITS bridé : le fond de panier n’a jamais pu finir les copies, et l’UI ne s’actualise qu’au moment de l’installation.
Procédure express recommandée (serveurs autonomes)
- Activer Configure Automatic Updates = 3 (voir plus haut).
- Optionnel : définir une fenêtre de maintenance avec l’Option 4 (jour/heure) si vous voulez une installation programmée.
- Empêcher le redémarrage inopiné : activer « No auto‑restart with logged on users ».
- Relancer un cycle d’évaluation/téléchargement :
gpupdate /force # Démarrer/relancer les services clés net start wuauserv net start bits net start dosvc # Lancer un scan et laisser la stratégie "3" télécharger en arrière-plan usoclient StartScan usoclient StartDownload
(Les commandesusoclient
nécessitent une session élevée ; sur des versions plus anciennes, vous pouvez utiliserwuauclt /detectnow
avec WSUS.) - Vérifier l’activité : taille croissante du dossier
SoftwareDistribution\Download
et événements « Download » dans le journal.
Équivalent par Registre/PowerShell (sans GPEDIT)
Sur un serveur autonome ou Core, vous pouvez définir la configuration par le Registre. Les clés importantes :
Clé/valeur | Type | Signification | Valeur conseillée |
---|---|---|---|
HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU\AUOptions | DWORD | Mode d’update (2,3,4,5) | 3 |
HKLM\...\WindowsUpdate\AU\ScheduledInstallDay | DWORD | Jour 0–7 (0 = chaque jour) | si Option 4 |
HKLM\...\WindowsUpdate\AU\ScheduledInstallTime | DWORD | Heure (0–23) | si Option 4 |
HKLM\...\WindowsUpdate\AU\NoAutoRebootWithLoggedOnUsers | DWORD | Pas de reboot auto si session ouverte | 1 |
HKLM\...\WindowsUpdate\AU\UseWUServer | DWORD | 0 = Microsoft Update / 1 = WSUS intranet | 0 (si pas de WSUS) |
Script PowerShell prêt à l’emploi
# Exécuter en PowerShell élevé
$base = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU'
New-Item -Path $base -Force | Out-Null
Set-ItemProperty -Path $base -Name AUOptions -Type DWord -Value 3
# Optionnel : programmation (Option 4)
# Set-ItemProperty -Path $base -Name AUOptions -Value 4
# Set-ItemProperty -Path $base -Name ScheduledInstallDay -Value 0
# Set-ItemProperty -Path $base -Name ScheduledInstallTime -Value 3 # 03:00
# Reboot différé autorisé si session ouverte
Set-ItemProperty -Path $base -Name NoAutoRebootWithLoggedOnUsers -Type DWord -Value 1
# Désactiver WSUS résiduel si non utilisé
$wuKey = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU'
If (Test-Path $wuKey) {
Set-ItemProperty -Path $wuKey -Name UseWUServer -Type DWord -Value 0 -ErrorAction SilentlyContinue
}
# Redémarrage des services Windows Update
Restart-Service -Name wuauserv -Force
Restart-Service -Name bits -Force
Restart-Service -Name dosvc -Force
# Déclencher un scan & lancement du téléchargement
Start-Process -FilePath "$env:SystemRoot\System32\usoclient.exe" -ArgumentList 'StartScan' -Verb RunAs
Start-Process -FilePath "$env:SystemRoot\System32\usoclient.exe" -ArgumentList 'StartDownload' -Verb RunAs
Vérifications réseau indispensables
Le pré‑téléchargement s’appuie sur BITS et Delivery Optimization. Si votre serveur passe par un proxy ou un pare‑feu strict, autorisez le trafic sortant HTTP/HTTPS vers :
windowsupdate.microsoft.com
,*.windowsupdate.com
,*.update.microsoft.com
,download.windowsupdate.com
*.delivery.mp.microsoft.com
(Delivery Optimization)
Assurez‑vous également que les services suivants sont en Exécution (Automatique) :
Service | Nom | Rôle |
---|---|---|
Windows Update | wuauserv | Scan et orchestration |
Background Intelligent Transfer Service | BITS | Téléchargement en tâche de fond |
Delivery Optimization | DoSvc | Pair‑à‑pair & gestion des blocs |
Cryptographic Services | CryptSvc | Validation des signatures |
Accélérer les téléchargements entre serveurs (Delivery Optimization)
Sur des liaisons lentes, activez la distribution d’égal à égal pour mutualiser le cache et réduire l’empreinte WAN.
- Paramètres Windows → Mise à jour et sécurité → Optimisation de la distribution : Autoriser les téléchargements à partir d’autres PC.
- En GPO (ou Registre), positionner le mode à 1 (LAN) pour restreindre l’échange au sous‑réseau.
Clé | Valeur | Effet |
---|---|---|
HKLM\SOFTWARE\Policies\Microsoft\Windows\DeliveryOptimization\DODownloadMode | 0 | HTTP seulement (pas de P2P) |
…\DODownloadMode | 1 | P2P sur le LAN |
…\DODownloadMode | 2 | Groupes locaux (AD/AAD) |
…\DODownloadMode | 3 | Internet (pairage étendu) |
Surveiller la progression et prouver le pré‑téléchargement
- Dossier de cache :
C:\Windows\SoftwareDistribution\Download
(fichiers .bin/.cab qui augmentent en taille pendant la phase de download). - Journal d’événements : WindowsUpdateClient/Operational. Filtrez les événements d’Information indiquant « Download started », « Download completed », « Installation started ».
- Get-WindowsUpdateLog :
# Fusionne les traces ETW en un log lisible Get-WindowsUpdateLog -LogPath C:\Temp\WindowsUpdate.log
- Suivi BITS (transferts en cours) :
Get-BitsTransfer -AllUsers | Select-Object DisplayName,BytesTransferred,BytesTotal,JobState
- PSWindowsUpdate (optionnel) :
# Requiert PowerShellGet/PSGallery pour l'installation Install-Module PSWindowsUpdate -Force Get-WindowsUpdate -Download -AcceptAll -IgnoreReboot
Dépannage avancé (si le téléchargement ne démarre jamais)
- Réinitialiser le cache Windows Update :
net stop wuauserv net stop bits net stop dosvc net stop cryptsvc ren C:\Windows\SoftwareDistribution SoftwareDistribution.old ren C:\Windows\System32\catroot2 catroot2.old net start cryptsvc net start dosvc net start bits net start wuauserv # Relancer un scan usoclient StartScan
Conservez le dossier renommé quelques jours au cas où des fichiers seraient nécessaires, puis supprimez‑le. - Vérifier la présence de WSUS résiduel :
Get-ItemProperty 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU' ` -Name UseWUServer -ErrorAction SilentlyContinue
Si la valeur est1
sans serveur WSUS valide, positionnez‑la à0
(voir plus haut). - Limiter ou supprimer la bride BITS (si des GPO ont été posées) : Configuration ordinateur → Modèles d’administration → Réseau → Background Intelligent Transfer Service → Limiter la bande passante. Laissez « Non configuré » ou planifiez des fenêtres hors‑production.
- Espace disque : assurez au moins plusieurs Go libres sur
C:
. Les cumulatives mensuelles peuvent dépasser 1 Go une fois décompressées.
Bonnes pratiques pour les serveurs autonomes
- Privilégiez Option 3 pour pré‑télécharger et contrôler le moment d’installation.
- Si vous devez automatiser l’installation, utilisez Option 4 et définissez un créneau horaire faible trafic. Activez
NoAutoRebootWithLoggedOnUsers=1
pour éviter les redémarrages indésirables. - Ne cliquez pas systématiquement sur « Rechercher des mises à jour » ; laissez la planification faire son travail.
- Documentez un runbook : vérifications de services, taille du cache, journaux, étapes de rollback.
- Centralisez le paramétrage via un script PowerShell signé si vous avez plus d’une poignée de serveurs.
FAQ
Q : Pourquoi le clic sur Installer déclenche‑t‑il parfois un téléchargement de « Dynamic Updates » ?
R : Lors de l’installation, Windows peut récupérer des composants complémentaires (Stack de maintenance, pilotes, compat) si leur présence est requise et absente du cache. Le pré‑téléchargement réduit ce risque mais ne l’élimine pas à 100 %.
Q : Option 4 installe‑t‑elle toujours automatiquement ?
R : Oui, à l’horaire programmé. Employez‑la uniquement si vos fenêtres de maintenance sont formalisées. Sinon, préférez l’Option 3.
Q : Comment vérifier rapidement le mode en vigueur sans ouvrir GPEDIT ?
R :
(Get-ItemProperty 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU').AUOptions
Valeurs : 2 = Notify, 3 = AutoDownload+Notify, 4 = Auto+Schedule, 5 = Admin choice.
Q : Et sur Server Core ?
R : Utilisez le Registre/PowerShell ci‑dessus. sconfig
permet « Automatique » (téléchargement + installation) ou « Manuel ». Pour reproduire l’Option 3 précisément, préférez les clés de Registre.
Q : Puis‑je nettoyer SoftwareDistribution
régulièrement ?
R : Évitez de le faire de manière systématique : cela ruine le pré‑téléchargement. Nettoyez uniquement en cas de corruption ou de blocage confirmé.
Checklist d’audit (à imprimer)
Point de contrôle | Commande/Emplacement | OK / KO | Commentaire |
---|---|---|---|
Option de mise à jour | GPEDIT → Option 3 / AUOptions=3 | ||
Services WU/BITS/DO | Get-Service wuauserv,bits,dosvc | ||
Pas de WSUS résiduel | UseWUServer=0 | ||
Bande passante non bridée | GPO BITS « Non configuré » ou fenêtre dédiée | ||
Cache présent | SoftwareDistribution\Download non vide | ||
Journaux cohérents | WindowsUpdateClient : Download → Install |
Résumé opératoire
Le comportement observé (téléchargement au moment du clic) provient presque toujours d’une configuration inadaptée (Option 2), d’un cache absent, ou d’un blocage réseau. La solution robuste pour des serveurs autonomes consiste à :
- Activer Configure Automatic Updates = 3 pour autoriser le pré‑téléchargement silencieux ;
- assurer la santé des services
wuauserv
,BITS
,DoSvc
; - lever les freins réseau/proxy et, si besoin, optimiser via Delivery Optimization ;
- vérifier par journaux et cache que les payloads sont disponibles avant d’entrer en maintenance.
Avec ces réglages, le clic sur Installer se contente d’appliquer ce qui est déjà présent en local : vos fenêtres de maintenance deviennent prévisibles et beaucoup plus courtes.
Annexe : commandes utiles (mémo)
# Forcer l’application des stratégies
gpupdate /force
# Relancer les services essentiels
sc query wuauserv
sc query bits
sc query dosvc
# Déclencher un cycle (scan + download)
usoclient StartScan
usoclient StartDownload
# Voir l’état BITS
Get-BitsTransfer -AllUsers
# Générer un log lisible
Get-WindowsUpdateLog -LogPath C:\Temp\WindowsUpdate.log
Conclusion
Le « vrai » pré‑téléchargement Windows Update sur un serveur autonome s’obtient via la stratégie adéquate (Option 3 ou 4), des services en bon état, et un réseau non bridé. Une fois ce trépied en place, l’installation n’est plus qu’une formalité, sans heure et demie de téléchargement au pire moment.