web-dev-qa-db-fra.com

Arrêtez définitivement les minuteurs de réveil de réveiller le bureau Windows 10

Comment empêcher un ordinateur Windows 10 de se réveiller de l'état d'alimentation en veille/veille prolongée sans intervention de l'utilisateur?

Ce n'est pas un problème pour de nombreux utilisateurs, mais si vous dormez dans la même pièce que votre ordinateur, le réveil de votre machine à 3h30 du matin pour télécharger les mises à jour est irritant.

221
seagull

Réponse

Il y a un certain nombre de choses qui peuvent affecter cela. Je suis conscient qu'il y a sur tout le site des posts détaillant différentes manières d'aborder le problème. Cet article a pour but de les consolider et d’ajouter ma propre vision de la question en tant que personne touchée par elle-même.

Le correctif décrit à l'étape 2 peut également être utilisé pour empêcher Windows 10 de redémarrer l'ordinateur après l'installation de Windows Updates.

Ce correctif fonctionne également pour la mise à jour de l'automne (1709). Cependant, vous devrez désactiver la tâche 'Redémarrer' et reconfigurer les autorisations de sécurité, car le processus de mise à jour la remplace.

Étape 1: Désactivez les minuteurs de réveil pour tous les profils de puissance

Les blogueurs tech paresseux voudraient vous faire croire que c'est la fin de votre recherche. S'il est vrai que cette étape éliminera quelques arrêts erronés, il existe un certain nombre de paramètres et de configurations, en particulier dans Windows 10, qui ne respectent pas ce paramètre, quelle que soit l'intervention de l'utilisateur. Accédez au Panneau de configuration> Options d'alimentation. À partir de là, choisissez le premier profil d'alimentation figurant en premier dans la liste et désactivez l'option "Réveil par minuterie". Travailler à travers tous les profils.

 Power settings

(Merci à l'utilisateur StackExchange olee22 pour l'image)

Sous Windows 10, il est vivement recommandé de corriger ce paramètre pour tous les profils d'alimentation , pas uniquement celui que vous avez choisi d'utiliser. Diverses facultés Windows utiliseront différents profils. cela améliore vos chances de ne pas être réveillé.

Étape 2: Désactivez la tâche planifiée "de redémarrage" indisciplinée

Remarque: J'ai créé un script PowerShell qui peut être utilisé pour empêcher le redémarrage de votre système Windows 10. Vous pouvez le trouver ici: https://github.com/seagull/disable-automaticrestarts

Le dossier des tâches planifiées UpdateOrchestrator de Windows 10 contient une tâche appelée "redémarrage". Cette tâche réveillera votre ordinateur pour installer les mises à jour, qu'elles soient disponibles ou non. Il ne suffit pas de retirer sa permission pour réveiller l'ordinateur. Windows le modifiera simplement pour se donner à nouveau une fois que vous aurez quitté le planificateur de tâches.

Dans votre Panneau de configuration, entrez dans Outils d'administration, puis affichez votre planificateur de tâches.  Entering Task Scheduler

 Task Scheduler

C’est la tâche que vous voulez - sous Bibliothèque du planificateur de tâches> Microsoft> Windows> UpdateOrchestrator. Les choses les plus importantes que vous voulez faire sont:

 Remove permission for task to wake PC  Disable task

À partir de là, vous devrez modifier les autorisations de la tâche afin que Windows ne puisse pas la molester. La tâche se trouve dans C:\Windows\System32\Tasks\Microsoft\Windows\UpdateOrchestrator . Cela s'appelle "Reboot" sans extension de fichier. Cliquez dessus avec le bouton droit de la souris, entrez les propriétés et faites-vous le propriétaire . Enfin, configurez-le de manière à afficher les éléments suivants:

 Reboot file with only read permissions

Ici, le fichier est affiché avec des autorisations en lecture seule pour SYSTEM. Assurez-vous qu'aucun compte ne dispose d'un accès en écriture, pas même le vôtre (vous pouvez toujours modifier les autorisations ultérieurement si vous en avez besoin). Assurez-vous également de désactiver les autorisations héritées pour le fichier à l'aide du bouton "Avancé" de cet écran, afin de remplacer toutes les autorisations existantes sur le dossier racine. Cela empêchera à 100% Windows de modifier vos modifications après les avoir implémentées.

Une fois que cela a été défini, vous n'aurez plus à vous soucier de cette tâche planifiée.

Note pour Windows 1709 (Mise à jour des créateurs d'automne)

Le processus d'installation Windows modifie les autorisations pour les fichiers. Assurez-vous donc de lire ce guide à nouveau après la mise à niveau. J'ai entendu parler d'une nouvelle tâche appelée "Installation sur courant alternatif" qui nécessite les mêmes étapes que celle appliquée, mais je n'ai pas vu cette tâche produite sur mon propre appareil après l'installation de la mise à jour 16299.192 (correctif Meltdown 2018-01), aussi Je ne peux pas conseiller avec une certitude absolue. Les mêmes étapes que celles décrites ci-dessus devraient fonctionner pour toutes les tâches introduites.

Étape 3: Vérifiez les minuteries de réveil dans PowerShell

Vous avez désactivé la fonctionnalité de minuterie de réveil, mais Windows 10 a pour habitude de ne pas respecter ce paramètre. Par sécurité, nous allons exécuter une commande PowerShell pour éliminer toutes les tâches qui peuvent, dans la pratique, réveiller votre PC. Ouvrez une invite administrative de commande PowerShell (cliquez sur Démarrer, tapez "Powershell", Ctrl + Maj + Entrée) et placez cette commande dans la fenêtre:

Get-ScheduledTask | where {$_.settings.waketorun}

Parcourez toutes les tâches qu’il répertorie et supprimez leur autorisation pour réactiver votre ordinateur. Vous ne devriez pas avoir à vous soucier des autorisations comme nous l'avons fait avec Reboot; c'était un cas isolé.

Étape 4: Vérifiez quel matériel peut réveiller votre PC

Une grande partie du matériel USB, une fois engagé, peut réveiller votre PC (les claviers le sont souvent lorsque vous appuyez sur les touches, par exemple); le réveil sur réseau local est également un problème dans ce scénario. Pour les non-initiés, une fonctionnalité commune et utile du matériel moderne est appelée "Wake on LAN". Si votre appareil est connecté à un réseau local à l'aide d'un câble Ethernet câblé (cela ne fonctionne pas pour le Wi-Fi), vous pouvez envoyer des communications qui réveilleront votre PC à la réception. C’est une fonctionnalité que j’utilise souvent, mais elle doit être adaptée car son comportement par défaut est beaucoup trop zélé.

Entrez la commande suivante dans une invite de commande administrative:

powercfg -devicequery wake_armed

 Command Prompt output of command

À partir de là, recherchez les périphériques dans le Gestionnaire de périphériques (Panneau de configuration) et, sous l'onglet "Gestion de l'alimentation", supprimez leur capacité à réactiver votre ordinateur. Si vous avez des cartes d'interface réseau pour lesquelles vous souhaitez conserver Wake-on-LAN, activez l'option "Ne réveillez ce périphérique que s'il reçoit un paquet magique" au lieu de l'activer pour tout le trafic envoyé.

Étape 5: Vérifiez la stratégie de groupe juste pour être complètement sûr

Cliquez avec le bouton droit de la souris sur votre menu Démarrer et sélectionnez "Exécuter". Tapez GPEdit.MSC. Recherchez le paramètre suivant sous Configuration de l'ordinateur> Modèles d'administration> Composants Windows> Mises à jour Windows> Activation de la gestion de l'alimentation de Windows Update pour réactiver automatiquement le système afin d'installer des mises à jour programmées. Double-cliquez dessus et définissez-le sur Désactivé.

 Disabling Windows Update wake functionality

Étape 6: Désactivez le réveil de votre machine pour la maintenance automatique

Quelqu'un chez Microsoft a le sens de l'humour pour celui-ci. Si vous êtes réveillé la nuit par votre PC, la seule chose que vous voulez entendre avant tout, c'est le craquage et le broyage du disque dur lors de la défragmentation nocturne. Désactivez cette fonctionnalité en recherchant la section "Sécurité et maintenance" du Panneau de configuration. À partir de là, développez "Maintenance" et recherchez le lien "Modifier les paramètres de maintenance".

 Disable automatic maintenance

Réglez l'heure sur quelque chose de plus sociable (7:00 c'est bien) et désactivez la capacité de la machine à se réveiller pour la tâche.

349
seagull

J'utilise maintenant ce script pour Empêche définitivement les minuteurs de réveil de réveiller le bureau Windows 10 :

# disable wake for enabled scheduled tasks that are allowed to wake
Get-ScheduledTask |
?{ $_.Settings.WakeToRun -eq $true -and $_.State -ne 'Disabled' } |
%{
    write-Host $_
    $_.Settings.WakeToRun = $false;
    Set-ScheduledTask $_
}

# disable wake for devices that are allowed to wake (list of wake capable devices: powercfg -devicequery wake_from_any)
powercfg -devicequery wake_armed |
%{
    write-Host $_
    if ($_ -notmatch '^(NONE)?$')
    { powercfg -devicedisablewake $_ }
}

# disable wake timers for all power schemes
powercfg -list | Select-String 'GUID' |
%{
    write-Host $_
    $guid = $_ -replace '^.*:\s+(\S+?)\s+.*$', '$1'
    powercfg -setdcvalueindex $guid SUB_SLEEP RTCWAKE 0
    powercfg -setacvalueindex $guid SUB_SLEEP RTCWAKE 0
}

# disable wake for automatic updates and for automatic maintenance
'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU\AUPowerManagement', 
'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\Maintenance\WakeUp' |
%{
    write-Host $_
    $key = split-path $_
    $name = split-path $_ -leaf
    $type = 'DWORD'
    $value = 0
    if (!(Test-Path $key))
    { New-Item -Path $key -Force | Out-Null }
    if ((Get-ItemProperty $key $name 2>$null).$name -ne $value)
    { Set-ItemProperty $key $name $value -type $type }
}

Comme vous pouvez le constater, il répond plus ou moins à toutes les étapes mentionnées dans la réponse this à l'exception des autorisations de fichiers de tâches planifiées. Cependant, étant donné que j’ai l’intention de exécuter silencieusement ce script à chaque déverrouillage/ouverture de session, j’espère que cela ne sera pas du tout un problème.

25
mousio

J'ai trouvé l'autre réponse incroyablement utile, et j'aimerais juste commenter si je le pouvais, mais je voulais apporter un logiciel que j'ai rapidement écrit pour vous aider avec les étapes 3 et 4 ci-dessous:

https://github.com/Omniru/System-Wake-Manager/wiki/Home-&-Download

Espérons que cela sera utile à certaines personnes.

 enter image description here

 enter image description here

Vous pouvez voir cette fenêtre apparaître et cliquer sur "Plus d'infos", puis sur "Exécuter quand même" (si vous n'êtes pas sûr de cela, n'hésitez pas à vérifier le code source, il se trouve sur github afterall):  enter image description here

9
Eric