Faut‑il basculer un hôte de session RDS Windows Server 2022 en mode Install pour Patch Tuesday ? Voici une réponse claire, une procédure pas‑à‑pas et des bonnes pratiques pour patcher sans gêner les utilisateurs et sans laisser le serveur dans un état risqué.
Vue d’ensemble de la question
La question revient souvent en production : faut‑il placer un serveur Windows Server 2022 configuré en hôte de session RDS (ex‑Terminal Server) en mode Install lors de l’application des mises à jour mensuelles de Windows ? Ou bien ce mode ne concerne‑t‑il que l’installation et la mise à jour d’applications ? Le contexte précisé est que les mises à jour sont déployées quand aucun utilisateur n’est connecté.
TL;DR : pour les mises à jour Windows mensuelles, le mode Install n’est en général pas requis, car les correctifs sont appliqués par des services système. La priorité opérationnelle est de drainer/bloquer les connexions, évincer les sessions restantes et redémarrer quand c’est demandé. En revanche, passez en mode Install pour l’installation ou la mise à jour d’applications qui écrivent des paramètres par utilisateur.
Pourquoi cette confusion persiste
Historiquement, le mode Install des serveurs de terminaux sert à capturer et rediriger certaines écritures réalisées par un programme d’installation (fichiers et clés de registre supposés « par utilisateur ») vers des emplacements communs afin que tous les futurs utilisateurs bénéficient des paramètres et composants nécessaires. Certains administrateurs ont étendu ce réflexe aux mises à jour du système par précaution.
Or, le mécanisme de mise à jour de Windows Server s’exécute sous contexte SYSTEM
et manipule des emplacements machine‑wide. Il n’a pas besoin des redirections offertes par le mode Install. D’où la recommandation moderne : ne pas basculer en mode Install pour patcher l’OS, et se concentrer sur le cycle de maintenance (drain, patch, reboot, réouverture).
Comprendre le mode Install vs Execute
Aspect | Mode Install | Mode Execute |
---|---|---|
Usage prévu | Installer/mettre à jour des applications sur un RDS | Utilisation normale en production (exécution des applis par les utilisateurs) |
Écritures registre | Redirige certaines écritures destinées à HKCU vers une zone machine pour en faire des défauts applicables aux futurs profils | Écritures usuelles dans HKCU isolées par session/utilisateur |
Écritures fichiers | Compatibilité appli : redirections de chemins « par utilisateur » vers All Users / profils par défaut | Fichiers créés dans les profils des utilisateurs actifs |
Contexte de patch Windows | Inutile dans la plupart des cas | Normal et recommandé |
Risque si oublié | Élevé : laisser le serveur en Install peut polluer le profil par défaut et entraîner des anomalies pour les sessions futures | Faible : comportement attendu |
Position claire et actionnable
- Mises à jour Windows mensuelles (WSUS/SCCM/WUfB/Windows Update) : ne basculez pas le serveur en mode Install. Faites le drain des sessions, appliquez les correctifs, puis redémarrez.
- Installation/mise à jour d’applications (setup .exe, MSI non‑MSIcompliant, applis héritées écrivant dans
HKCU
/%APPDATA%
) : oui, passez en mode Install pendant l’installation, puis revenez impérativement en mode Execute.
Procédure recommandée pour les patchs mensuels sur un hôte RDS
La séquence ci‑dessous minimise l’impact pour les utilisateurs et réduit les incidents post‑patch.
Étapes en ligne de commande
- Bloquer les nouvelles connexions (ou drainer les reconnexions uniquement)
change logon /drain & rem Autorise les reconnexions seulement
rem ou
change logon /disable & rem Bloque toute nouvelle connexion
- Vérifier/évincer les sessions restantes
query user & rem Liste les sessions (ID dans la 2e colonne)
logoff <ID> & rem Déconnecte proprement une session
- Appliquer les mises à jour (WSUS/SCCM/WUfB/Windows Update)
rem WSUS/SCCM : laisser le client piloter le scan/install
rem Windows Update (déploiement manuel) : sconfig, ou UI graphique
- Redémarrer dès que demandé (ou de façon contrôlée en fin de fenêtre)
shutdown /r /t 0 /d p:2:17 /c "Redémarrage post‑patch"
- Réautoriser les connexions
change logon /enable
Variante PowerShell (optionnelle)
Sans dépendre d’outils tiers, vous pouvez piloter la maintenance en PowerShell. Exemple :
# Bloquer les nouvelles connexions (équivalent)
Start-Process -FilePath "cmd.exe" -ArgumentList "/c change logon /disable" -Wait
# Lister les sessions et forcer la fermeture si nécessaire
quser
# puis : logoff \
# Déclencher un scan Windows Update (client moderne)
# Remarque : USOClient peut être restreint selon la stratégie ; exécuter en SYSTEM si nécessaire.
Start-Process -FilePath "usoclient.exe" -ArgumentList "StartScan" -Verb RunAs
Start-Process -FilePath "usoclient.exe" -ArgumentList "StartInstall" -Verb RunAs
# Redémarrer si une relance est requise
Restart-Computer -Force
# Puis réautoriser
Start-Process -FilePath "cmd.exe" -ArgumentList "/c change logon /enable" -Wait
Astuce : si vous utilisez le module PSWindowsUpdate en atelier, bâtissez un script standardisé (Get-WindowsUpdate
, Install-WindowsUpdate -AcceptAll -IgnoreReboot
) et cadrez son usage via une GPO d’exécution de scripts signés.
Quand utiliser réellement le mode Install
Servez‑vous du mode Install lors d’installations d’applications qui écrivent des paramètres par utilisateur au moment de l’installation ou qui ne respectent pas les bonnes pratiques MSI.
change user /install
rem Installer/mettre à jour l’application
change user /execute
Contrôler le mode courant :
change user /query
Signaux qui justifient le mode Install pendant l’installation applicative :
- L’assistant crée des fichiers sous
%APPDATA%
,%LOCALAPPDATA%
ou%USERPROFILE%
. - Des clés de configuration sont écrites dans
HKCU\Software
au moment du setup. - L’éditeur précise explicitement une procédure RDS/citrix avec un « install mode ».
Scénarios particuliers et nuances utiles
- Serveurs membres d’une ferme RDS derrière un broker : drainer les nœuds un par un, patcher, redémarrer, puis les remettre en service avant de passer au suivant.
- Profils itinérants/FSLogix : pas d’impact particulier sur la nécessité du mode Install pour Windows Update. En revanche, gardez le serveur en drain pour éviter l’attachement/détachement fréquent des containers pendant les patchs.
- Agents résidents (EDR, monitoring, sauvegarde) : vérifiez leurs états après redémarrage (service running, télémétrie OK) dans votre check post‑patch.
- Applications publiées en RemoteApp : si vous mettez à jour l’application elle‑même, oui au mode Install pendant l’opération, même si le poste n’accueille pas de sessions bureautiques complètes.
Procédure « durcie » de patch mensuel
Étape | Objectif | Commande/Action | Critère de succès |
---|---|---|---|
Pré‑maintenance | Prévenir, planifier, sauvegarder | Notification aux utilisateurs, point de restauration/snapshot VM, sauvegarde système/état | Communications envoyées, sauvegarde vérifiée |
Drain | Empêcher les nouvelles sessions | change logon /drain ou /disable | Seules les reconnexions, ou aucune connexion |
Évictions | Fermer les sessions actives | query user , logoff <ID> | Aucune session utilisateur |
Patch | Installer les mises à jour | WSUS/SCCM/WUfB/Windows Update | Installations Success / Pending reboot |
Redémarrage | Finaliser l’installation | shutdown /r /t 0 ou Restart-Computer | Retour au logon screen |
Remise en service | Ouvrir les accès | change logon /enable | Connexions acceptées |
Vérifications | Contrôles de santé | Événements, services critiques, charge CPU/RAM, test de logon | OK opérationnel |
Pièges fréquents à éviter
- Oublier de revenir en mode Execute après une installation d’application : cela peut introduire des paramètres inattendus pour tous les nouveaux profils.
- Laisser le serveur en /disable après la fenêtre de maintenance : vous ne verrez que « Connexion refusée » côté utilisateurs.
- Patcher avec des sessions ouvertes : risques de fichiers verrouillés, profils corrompus et redémarrage forcé en pleine journée.
- Ignorer la demande de redémarrage : certains correctifs ne sont effectifs qu’après reboot (et un redémarrage différé créé de la dette technique).
Vérifications rapides post‑patch
- Le serveur est‑il bien en mode Execute ?
change user /query
. - Les connexions RDS sont‑elles réautorisées ?
change logon /enable
. - Y a‑t‑il un redémarrage en attente ? Rechercher une clé RebootPending (ou simplement rebooter de manière proactive à la fin de la fenêtre).
- Les services critiques (broker, impression, EDR, monitoring) sont‑ils running ?
- Un test utilisateur réalise‑t‑il sans erreur l’ouverture de session et l’ouverture des applications publiées ?
Exemples de scripts de maintenance
Script batch minimaliste
@echo off
setlocal enabledelayedexpansion
echo \[1/5] Drain des connexions...
change logon /disable
echo \[2/5] Eviction des sessions actives...
for /f "skip=1 tokens=3" %%i in ('query user ^| findstr /r "^\[ \
Boucle de pilotage PowerShell « propre »
# 1. Bloquer les nouvelles connexions
Start-Process cmd -ArgumentList "/c change logon /disable" -Wait
# 2. Evincer les sessions (a confirmer selon vos procedures internes)
quser
# logoff \
# 3. Déclencher le cycle de mise à jour si vous pilotez localement
Start-Process usoclient.exe -ArgumentList "StartScan" -Wait
Start-Process usoclient.exe -ArgumentList "StartInstall" -Wait
# 4. Redémarrer si nécessaire
if (Test-Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootPending") {
Restart-Computer -Force
}
# 5. Réautoriser les connexions à la remontée
Start-Process cmd -ArgumentList "/c change logon /enable" -Wait
Décision rapide
Scénario | Mode Install requis ? | Remarques |
---|---|---|
Mises à jour Windows mensuelles (cumulatives, .NET, sécurité) | Non, en général inutile | Faites le drain, appliquez, redémarrez, réautorisez |
Installation/mise à jour d’une application legacy | Oui | change user /install → installer → /execute |
MSI correctement packagé (all‑users) | Souvent non | Selon le packaging ; vérifiez la doc éditeur |
Scripts qui modifient HKCU pendant l’installation | Oui | Garantir des defaults pour tous les futurs profils |
FAQ express
Et si je bascule quand même en mode Install pour patcher l’OS ?
Ce n’est pas utile ; cela ajoute un risque d’oubli de retour en Execute et peut « salir » le profil par défaut. Si votre procédure interne l’impose, assurez‑vous qu’aucun utilisateur n’est connecté, appliquez les patchs puis revenez immédiatement en Execute.
Dois‑je drainer si je planifie en pleine nuit ?
Oui, car des sessions déconnectées peuvent subsister. Le drain + eviction garantit des fichiers non verrouillés et un redémarrage propre.
Qu’en est‑il des impressions et redirections ?
Les patchs peuvent redémarrer le spooler ou actualiser des composants RDS. D’où l’intérêt de patcher sans utilisateurs et de valider un test d’impression après redémarrage.
Conclusion
Le mode Install est un outil précieux… pour ce pourquoi il a été conçu : l’installation d’applications sur des hôtes RDS/Terminal Server. Pour les mises à jour Windows mensuelles sur Windows Server 2022, il est inutile dans la plupart des cas. Ordonnez plutôt votre fenêtre de maintenance autour d’un drain propre, d’un patch contrôlé, d’un redémarrage et d’une remise en service explicite. Cette approche réduit la complexité, diminue les erreurs humaines et stabilise vos plateformes RDS au quotidien.
Annexe : rappel des commandes utiles
change user /install
— bascule en mode Install (applications)change user /execute
— retour au mode normalchange user /query
— affiche le mode courantchange logon /drain
— nouvelles connexions bloquées, reconnexions autoriséeschange logon /disable
— bloque toute nouvelle connexionchange logon /enable
— réautorise les connexionsquery user
— liste les sessions (IDs)logoff <ID>
— met fin à une session de façon contrôléeshutdown /r /t 0
— redémarrage immédiat
Modèle de communication vers les utilisateurs
Exemple de message à envoyer 24–48 h avant la fenêtre :
Maintenance RDS – Windows Server 2022
Une maintenance de nos hôtes RDS aura lieu le [date] de [heure] à [heure]. Les nouvelles connexions seront temporairement bloquées et les sessions restantes évincées avant redémarrage. Merci de sauvegarder vos travaux et de vous déconnecter avant [heure].
Résumé opérationnel en une ligne
Mises à jour Windows mensuelles sur RDS : Pas de mode Install → drain → patch → reboot → enable.