Vous vous connectez à votre VPS Windows en RDP, vous lancez un traitement, vous fermez la session… et quelques minutes plus tard, votre serveur ne répond plus, votre script s'est arrêté, ou la connexion bureau à distance refuse de s'ouvrir. Le coupable est presque toujours le même : la mise en veille de Windows.
Ce guide explique pourquoi un VPS Windows entre en veille (alors que ça n'aurait pas de sens sur un serveur distant), puis donne trois méthodes complémentaires pour la désactiver définitivement : interface graphique, PowerShell scripté et registre Windows. À la fin de l'article, votre VPS reste actif 24/7, même session RDP fermée.
Solution rapide en 30 secondes :
Ouvrez PowerShell en administrateur sur votre VPS et collez :
powercfg /change standby-timeout-ac 0 powercfg /change monitor-timeout-ac 0 powercfg /change hibernate-timeout-ac 0 powercfg /hibernate off powercfg /setactive 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635cPuis redémarrez. Détails, vérification et dépannage ci-dessous.
Pourquoi un VPS Windows se met en veille (alors qu'il ne devrait pas)
Un VPS est une machine virtuelle qui tourne sur un hyperviseur (KVM, VMware, Hyper-V). Contrairement à un PC physique, il n'a pas d'écran, pas de clavier, pas de batterie. La mise en veille n'a aucun sens fonctionnel… mais Windows ne le sait pas.
Quand vous installez Windows Server (ou pire, Windows 10/11 sur un VPS, ce que certains font), le système applique son plan d'alimentation par défaut, conçu pour un poste de travail. Conséquences :
- Au bout de 15-30 minutes d'inactivité de session RDP, Windows considère qu'il n'y a "personne" et coupe l'écran virtuel.
- Après ~1h, il passe en veille (
Sleep) ou veille prolongée (Hibernate) → l'OS suspend les threads, les services réseau ralentissent, certains processus utilisateurs se figent. - Le service Bureau à distance (TermService) applique ses propres timeouts (
MaxIdleTime,MaxDisconnectionTime) qui ferment la session après inactivité, libérant le bureau.
Sur un VPS, le comportement observé est en général :
- ✗ Le serveur répond toujours au ping (le noyau réseau reste actif).
- ✗ RDP refuse la connexion ou affiche un écran noir.
- ✗ Vos scripts/services planifiés s'interrompent.
- ✗ Les applications GUI (bots, navigateurs automatisés, MetaTrader, OBS, etc.) se mettent en pause.
C'est pour cette raison que toute mise en production sur un VPS Windows commence par désactiver la veille. Voyons comment, proprement et durablement.
Prérequis
- Un VPS Windows actif (Windows Server 2019, 2022, 2025 ou Windows 10/11) par exemple un VPS Windows OuiHeberg .
- Un accès RDP au serveur avec un compte administrateur.
- 5 à 10 minutes.
Note : Toutes les manipulations doivent être faites depuis une session RDP administrateur. Si vous utilisez un compte standard, certains réglages seront grisés.
Méthode 1 - Interface graphique (recommandée pour débutants)
Étape 1.1 - Ouvrir les options d'alimentation
- Pressez
Windows + Rpour ouvrir la fenêtre Exécuter. - Tapez
powercfg.cplpuisEntrée. - La fenêtre Options d'alimentation s'ouvre.
Étape 1.2 - Choisir le mode "Performances élevées"
Dans la liste des modes, sélectionnez Performances élevées.
S'il n'apparaît pas (cas fréquent sur Windows Server avec plan d'alimentation réduit), recréez-le via PowerShell admin :
powercfg -duplicatescheme 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
powercfg /setactive 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
Étape 1.3 - Désactiver écran et veille
- Cliquez sur Modifier les paramètres du mode à droite du mode actif.
- Réglez Éteindre l'écran sur
Jamais. - Réglez Mettre l'ordinateur en veille sur
Jamais. - Cliquez sur Modifier les paramètres d'alimentation avancés.
Étape 1.4 - Paramètres avancés (le plus important)
Dans la fenêtre avancée, configurez :
| Section | Paramètre | Valeur |
|---|---|---|
| Disque dur | Arrêter le disque dur après | Jamais (0 min) |
| Veille | Mettre en veille après | Jamais |
| Veille | Autoriser la veille hybride | Désactivé |
| Veille | Mettre en veille prolongée après | Jamais |
| Veille | Autoriser les minuteurs de réveil | Désactiver |
| USB | Paramètre de suspension sélective USB | Désactivé |
| Boutons et capot | Action quand on ferme le capot | Ne rien faire |
Cliquez sur Appliquer puis OK.
Étape 1.5 - Désactiver le démarrage rapide
- Dans Options d'alimentation, cliquez à gauche sur Choisir l'action des boutons d'alimentation.
- Cliquez sur Modifier des paramètres actuellement non disponibles.
- Décochez Activer le démarrage rapide.
Méthode 2 - Script PowerShell (recommandée pour admins)
C'est la méthode la plus rapide et la plus fiable. Un seul bloc PowerShell remplace toute la procédure graphique et garantit la même configuration sur tous vos VPS.
Ouvrez PowerShell en administrateur, copiez-collez l'ensemble du script ci-dessous :
# === OuiHeberg — VPS Windows : désactivation complète de la veille ===
# 1. Plan d'alimentation "Performances élevées"
$highPerf = "8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c"
powercfg -duplicatescheme $highPerf 2>$null
powercfg /setactive $highPerf
# 2. Désactiver tous les timeouts (secteur AC, le seul valable sur VPS)
powercfg /change standby-timeout-ac 0
powercfg /change monitor-timeout-ac 0
powercfg /change disk-timeout-ac 0
powercfg /change hibernate-timeout-ac 0
# 3. Désactiver l'hibernation (libère aussi hiberfil.sys = plusieurs Go)
powercfg /hibernate off
# 4. Désactiver les minuteurs de réveil
powercfg /setacvalueindex SCHEME_CURRENT SUB_SLEEP RTCWAKE 0
powercfg /setactive SCHEME_CURRENT
# 5. Désactiver l'écran de veille pour tous les utilisateurs
reg add "HKCU\Control Panel\Desktop" /v ScreenSaveActive /t REG_SZ /d 0 /f
reg add "HKCU\Control Panel\Desktop" /v ScreenSaveTimeOut /t REG_SZ /d 0 /f
# 6. Désactiver les timeouts RDP (session reste ouverte indéfiniment)
$rdp = "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp"
Set-ItemProperty -Path $rdp -Name "MaxIdleTime" -Value 0 -Type DWord
Set-ItemProperty -Path $rdp -Name "MaxDisconnectionTime" -Value 0 -Type DWord
Set-ItemProperty -Path $rdp -Name "MaxConnectionTime" -Value 0 -Type DWord
# 7. Désactiver le démarrage rapide (HiberbootEnabled)
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Power" /v HiberbootEnabled /t REG_DWORD /d 0 /f
Write-Host "`n✓ Configuration appliquée. Redémarrage recommandé." -ForegroundColor Green
Sauvegardez ce script dans C:\Scripts\disable-sleep.ps1 pour pouvoir le réappliquer sur n'importe quel nouveau VPS.
Méthode 3 - Éditeur de registre (pour cas spécifiques)
Si vous voulez un contrôle granulaire ou résoudre un conflit GPO, éditez directement le registre.
Désactiver les timeouts RDP
Windows + R → regedit → naviguer vers :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
Créer/modifier ces trois valeurs DWORD (32 bits) :
| Nom | Type | Valeur | Effet |
|---|---|---|---|
MaxIdleTime | DWORD | 0 | Session jamais fermée pour inactivité |
MaxDisconnectionTime | DWORD | 0 | Session déconnectée reste indéfiniment |
MaxConnectionTime | DWORD | 0 | Pas de durée maximale de connexion |
Désactiver le démarrage rapide via registre
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Power
Définir HiberbootEnabled (DWORD) à 0.
Vérification : votre VPS est-il bien configuré ?
Après les modifications, redémarrez le VPS (shutdown /r /t 0), reconnectez-vous, puis exécutez ce script de vérification dans PowerShell admin :
# === Vérification configuration veille VPS ===
Write-Host "`n--- Plan d'alimentation actif ---" -ForegroundColor Cyan
powercfg /getactivescheme
Write-Host "`n--- Timeouts ---" -ForegroundColor Cyan
powercfg /query SCHEME_CURRENT SUB_SLEEP STANDBYIDLE | Select-String "Index"
powercfg /query SCHEME_CURRENT SUB_VIDEO VIDEOIDLE | Select-String "Index"
Write-Host "`n--- Hibernation ---" -ForegroundColor Cyan
powercfg /availablesleepstates
Write-Host "`n--- Timeouts RDP ---" -ForegroundColor Cyan
Get-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" |
Select-Object MaxIdleTime, MaxDisconnectionTime, MaxConnectionTime
Vous devez voir :
- Plan actif =
Performances élevées(GUID8c5e7fda-…) - Tous les
Indexde timeouts à0x00000000 Hibernation has not been enabledMaxIdleTime,MaxDisconnectionTime,MaxConnectionTimeà0
Si l'un de ces points n'est pas conforme, voir la section dépannage.
Dépannage - Le VPS continue à se "figer"
Si malgré la configuration ci-dessus le VPS reste injoignable après quelques heures, le problème vient probablement d'ailleurs que la veille. Voici les causes les plus fréquentes par ordre de probabilité.
1. Windows Update force un redémarrage
services.msc → trouver Windows Update → vérifier que le redémarrage automatique n'est pas planifié pendant vos heures critiques. Pour repousser :
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v NoAutoRebootWithLoggedOnUsers /t REG_DWORD /d 1 /f
2. Tâches planifiées d'arrêt/redémarrage
taskschd.msc → Bibliothèque du Planificateur → vérifier Microsoft\Windows\UpdateOrchestrator et Microsoft\Windows\Maintenance. Désactivez Reboot et RegularMaintenance si vous gérez les MAJ manuellement.
3. Carte réseau autorisée à "économiser de l'énergie"
devmgmt.msc → Cartes réseau → clic droit sur l'interface → Propriétés → onglet Gestion de l'alimentation → décochez "Autoriser l'ordinateur à éteindre ce périphérique pour économiser l'énergie".
4. Stratégie de groupe (GPO) qui réimpose les timeouts
Si votre VPS est joint à un domaine ou si vous avez appliqué des GPO Local Group Policy, ouvrez gpedit.msc et vérifiez :
Configuration ordinateur → Modèles d'administration → Composants Windows → Services Bureau à distance → Hôte de session Bureau à distance → Limites de connexion
Désactivez (ou mettez sur Non configuré) toutes les politiques liées aux limites de session. Puis lancez gpupdate /force.
5. Service TermService redémarré par MAJ
Réappliquer le script PowerShell méthode 2 réinitialise les clés RDP après chaque mise à jour majeure de Windows. Programmez-le en tâche planifiée mensuelle si nécessaire.
Pour aller plus loin : maintenir la session RDP active sans la fermer
Même session active, certains services (antivirus, télémétrie) peuvent baisser la priorité des processus utilisateur quand la session est "déconnectée mais ouverte". Deux astuces :
Garder la session RDP "vivante" côté client
Sur votre PC local (pas le VPS), créez un raccourci .rdp avec ces options :
keepalive interval:i:60
disconnection sound:i:0
Cela envoie un ping RDP toutes les 60 secondes et empêche la box/le NAT de couper la connexion.
Empêcher l'écran de verrouillage automatique
Toujours sur le VPS, en admin :
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v InactivityTimeoutSecs /t REG_DWORD /d 0 /f
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\Personalization" /v NoLockScreen /t REG_DWORD /d 1 /f
Checklist finale - 8 vérifications avant de fermer la session
- Plan d'alimentation = Performances élevées
-
standby-timeout-ac= 0 -
monitor-timeout-ac= 0 -
hibernate=off -
MaxIdleTime(registre RDP) = 0 - Démarrage rapide désactivé
- Carte réseau : "économiser l'énergie" décoché
- VPS redémarré au moins une fois après configuration
Si les 8 cases sont cochées, votre VPS Windows restera actif 24/7.
FAQ - Mise en veille d'un VPS Windows
Pourquoi un VPS Windows se met-il en veille puisqu'il n'a pas d'écran ?
Parce que Windows applique son plan d'alimentation par défaut (conçu pour un PC) sans tenir compte du fait que la machine est virtuelle. Les timeouts d'écran et de veille s'appliquent même sur un VPS sans périphérique physique, et le service Bureau à distance ferme la session après inactivité.
Quelle est la commande la plus rapide pour empêcher la mise en veille d'un VPS Windows ?
Une seule ligne en PowerShell administrateur : powercfg /change standby-timeout-ac 0. Pour une protection complète, ajoutez powercfg /change monitor-timeout-ac 0, powercfg /hibernate off, et désactivez les timeouts RDP dans le registre.
Mon VPS Windows ne répond plus après quelques heures, est-ce la veille ?
Probablement, mais pas seulement. Vérifiez dans cet ordre : (1) plan d'alimentation, (2) timeouts RDP MaxIdleTime, (3) tâches planifiées Windows Update, (4) carte réseau autorisée à s'éteindre. Le script de vérification de cet article diagnostique les 4 causes en 5 secondes.
Faut-il désactiver l'hibernation sur un VPS ?
Oui. L'hibernation est inutile sur un VPS (pas de batterie, pas de RAM à sauvegarder), et le fichier hiberfil.sys occupe l'équivalent de la RAM du serveur sur le disque. La commande powercfg /hibernate off désactive le mécanisme et libère cet espace immédiatement.
Les modifications survivent-elles à un redémarrage ?
Oui. Les plans d'alimentation, le registre RDP et les paramètres de démarrage rapide sont persistants. Seule exception : une mise à jour majeure de Windows Server peut réinitialiser certaines clés du service Bureau à distance. Réappliquez le script PowerShell après chaque mise à jour Feature Update.
Quelle différence entre standby-timeout-ac et standby-timeout-dc ?
ac = secteur (branché), dc = batterie. Un VPS est toujours considéré comme "branché" — seule ac compte. La modifier suffit ; dc peut être ignorée.
Cette procédure fonctionne-t-elle sur Windows Server 2025 ?
Oui. Toutes les commandes powercfg et clés de registre listées sont identiques sur Windows Server 2019, 2022 et 2025, ainsi que sur Windows 10 et 11. Seule l'interface graphique a légèrement bougé sur Server 2025 (Paramètres → Système → Alimentation au lieu du Panneau de configuration).
Conclusion
Désactiver la mise en veille d'un VPS Windows demande trois actions complémentaires : plan d'alimentation Performances élevées, timeouts powercfg à zéro, clés RDP du registre à zéro. Le script PowerShell de la méthode 2 fait les trois en 5 secondes et reste valable sur tous les Windows Server modernes.
Une fois ces réglages appliqués, votre VPS reste actif 24/7, vos scripts tournent sans interruption, et votre session RDP reprend instantanément même après plusieurs jours.
Besoin d'un VPS Windows fiable pour héberger un bot, un serveur applicatif ou un environnement de développement ? Découvrez les VPS Windows OuiHeberg avec Windows Server 2025 préinstallé, accès RDP immédiat, SSD NVMe et support 7j/7 basé en France.
