J'en ai eu marre que mon PC se réveille de son sommeil à des intervalles apparemment aléatoires et j'ai fait toutes les choses habituelles, en désactivant les minuteries de réveil, les planifications de tâches, en désactivant les périphériques LAN et autres, en exécutant powercfg /sleepstudy etc. en vain.
J'ai trouvé des scripts pour désactiver toutes les minuteries de réveil et j'ai exécuté ça :
Get-ScheduledTask | ? { $_.Settings.WakeToRun -eq $true -and $_.State -ne "Disabled"} | % { $_.Settings.WakeToRun = $false; Set-ScheduledTask $_ }
Malheureusement, j'ai également exécuté un script pour interdire à tout périphérique de réveiller le PC, ce qui semble bloquer la commande de mise en veille jusqu'à ce qu'une touche soit pressée, puis l'éteint complètement :
(/F "tokens=*" %A in ('powercfg -devicequery wake_armed') do powercfg -devicedisablewake "%A"
Cela produit plusieurs erreurs.
Bien que je puisse en comprendre une grande partie, je n'ai pas les compétences en programmation pour écrire un script pour le corriger :-(
Quelqu'un ici peut-il m'aider ? (je ne peux pas restaurer une image système pour le moment - j'ai prêté mon disque de sauvegarde+caddy à un copain qui est absent)(OK - je suis un Muppett)
EDITAR: OK - J'ai couru
PS C:\WINDOWS\system32 > @echo off
for /F "tokens=*" %%A in ('powercfg -devicequery wake_armed') do (powercfg -devicedisablewake "%%A")
ce qui a donné une erreur due à un '(' manquant après le mot clé 'for'. J'en ai donc inséré un :
PS C:\WINDOWS\system32 > @echo off for (/F "tokens=*" %%A in ('powercfg -devicequery wake_armed') do (powercfg -devicedisablewake "%%A").
Cela semble avoir fonctionné, bien que je ne comprenne toujours pas pourquoi, car il semble y avoir un "(" de trop. .
EDIT 2 Y a-t-il un moyen de l'inverser ? Puis-je simplement remplacer -devicedisableawake avec - deviceenablewake ?