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

232

Comment empêcher un bureau 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 ordinateur à 3h30 du matin pour télécharger les mises à jour est irritant.

mouette
la source

Réponses:

363

Répondre

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 avoir installé les mises à jour de Windows.

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ésactiver les minuteurs de réveil pour tous les profils d'alimentation

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 sur la liste et désactivez l'option "Réveil programmé". Travailler à travers tous les profils.

Paramètres de puissance

(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 , et pas uniquement pour 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ésactiver la tâche programmée "reboot" indisciplinée

Remarque: j'ai créé un script PowerShell pouvant être utilisé pour arrêter 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. Entrer dans le planificateur de tâches

Planificateur de tâches

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

Supprimer l'autorisation pour la tâche de réveiller le PC Désactiver la tâche

À partir de là, vous devrez modifier les autorisations pour 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. Faites un clic droit dessus, entrez les propriétés et faites-vous le propriétaire . Enfin, configurez-le de manière à afficher les éléments suivants:

Redémarrer le fichier avec uniquement des autorisations de lecture

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 AC Power" 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 l'habitude de ne pas respecter ce paramètre. Par mesure de 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 de commande administrative 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 retirez-leur l’autorisation de 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

Sortie de l'invite de commande de la commande

À 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 les mises à jour planifiées. Double-cliquez dessus et définissez-le sur Désactivé.

Désactiver la fonctionnalité de réveil de Windows Update

É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 voudriez entendre est le craquage et le meulage 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".

Désactiver la maintenance automatique

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.

mouette
la source
15
Merci! J'ai particulièrement apprécié la résolution robuste et impitoyable Rebootconsistant à s'approprier le fichier de définition de tâche au niveau NTFS et à réduire l'utilisateur sournois sournois et sournois SYSTEMà de simples autorisations de lecture et d'exécution. Il convient de garder à l’esprit cette approche appropriée si Microsoft décide de déployer de nouvelles machinations hostiles hostiles. Comme dans la superbe chanson du Boss, ce matin, je me suis réveillé dans un ciel vide où la nuit précédente avait été empilés par des nuages ​​de données non sauvegardés dans le bloc-notes et les onglets IE. Un système d'exploitation sacrifiant les données des utilisateurs sur l'autel de Update & Reboot manque clairement à sa mission.
Lumi
8
Bien que votre réponse soit très complète, semble efficace et que j’ai voté contre, je pense qu’elle aurait pu être mieux écrite car plusieurs parties sont très vagues et / ou déroutantes (en particulier pour les personnes qui ne sont pas très douées en informatique Windows). Cas concret: qu’est-ce que l’information sur le lien "s’affirmer comme le propriétaire" (basée sur la ligne de commande) a à voir avec le fait de cliquer avec le bouton droit sur la tâche de redémarrage et de sélectionner Propriétés?
martineau
7
Merci pour cette réponse. C’est exactement le type de comportement que je déteste de tout mon cœur pour Windows 10: modifier les paramètres pour les rendre agréables même si je clique explicitement autrement. Cela se produit également avec d'autres éléments, comme les dispositions de clavier.
Dav
13
Je viens donc de passer à 1709 et je ne parviens pas à faire mourir cette tâche de redémarrage. Même après être devenu l'unique propriétaire de cette tâche et avoir toutes les autorisations nécessaires, je ne peux rien changer sans fournir le mot de passe pour "S-1-5-18".
MFH
5
@MFH J'ai eu ce problème moi-même et j'ai trouvé la solution, voir superuser.com/a/1285419/118910
ohaal le
26

J'utilise maintenant ce script pour empêcher définitivement les réveils 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 aborde plus ou moins toutes les étapes mentionnées dans cette réponse, à l'exception des autorisations de fichiers de tâches planifiées. Cependant, comme je compte exécuter ce script en mode silencieux à chaque déverrouillage / ouverture de session, j’espère que cela ne posera aucun problème.

mousio
la source
Est-ce un script .bat?
alm
6
Ressemble à un script PowerShell .ps1 nécessitant des autorisations administratives. Pour désactiver correctement les tâches planifiées, y compris les autorisations, utilisez une combinaison de TASKEOWN, ICACLS et SCHTASKS dans un fichier de traitement par lots.
psouza4
N'a pas travaillé pour moi :(
sergiol
La Get-ScheduledTaskpartie du script échoue lorsqu'elle trouve de telles tâches. Une idée de comment le résoudre?
thisismydesign
2
@mousio J'ai dû exécuter le script dans un terminal administrateur pour pouvoir les rencontrer. La solution consistait à en prendre possession et à accorder un accès complet aux administrateurs. En ce qui concerne Set-ScheduledTaskest ne pense pas qu'il prend un ScheduledTaskobjet en tant que paramètre. Est-ce que cela vous a réellement permis de modifier des tâches? Voici une référence provenant de quelqu'un d'autre qui l'a signalé: social.technet.microsoft.com/Forums/en-US/…
thisismydesign
10

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.

entrez la description de l'image ici

entrez la description de l'image ici

Vous pouvez voir cette fenêtre apparaître et devoir cliquer sur "Plus d'infos" puis sur "Exécuter de toute façon" (si vous n'êtes pas sûr de cela, n'hésitez pas à vérifier le code source, il se trouve sur github afterall): entrez la description de l'image ici

Eric
la source
1
Beau travail, Eric.
Mouette
1
Donc, si c’est cette tâche planifiée de maintenance automatique, alors pourquoi diable ne peut-elle pas remettre l'ordinateur en veille une fois la maintenance effectuée?! Dans ce cas, je n’aurais pas de problème avec cela
Vitas