Comment interdire aux périphériques USB de réveiller l'ordinateur par défaut dans Windows 7

16

Chaque fois que je branche une nouvelle souris / un nouveau clavier ou en branche un existant sur un nouveau port USB, je dois aller manuellement dans le gestionnaire de périphériques, aller sur la page de propriétés du périphérique et décocher "Autoriser ce périphérique à réveiller l'ordinateur" sur la page "Gestion de l'alimentation". entrez la description de l'image ici

Est-il possible de configurer une stratégie système dans Windows 7, de sorte que cette case ne soit pas cochée pour les nouvelles souris / claviers USB par défaut?

Modifier: s'il n'y a aucun moyen de configurer une telle stratégie système, existe-t-il au moins un moyen d'énumérer et de désactiver le réveil USB sur les appareils à l'aide powercfgd'un fichier de commandes?

Edit 2: Cela doit être possible de faire au moins en utilisant powercfg. powercfg devicequery wake_armeddonne une liste de tous les appareils pouvant réveiller le système. Maintenant, comment puis-je renvoyer cette liste powercfget la désactiver pour réactiver les appareils répertoriés?

Duke Nukem
la source
1
Vous pouvez désactiver cela dans certains BIOS (hérités et UEFI)
justbrowsing
Mon BIOS n'a pas une telle option, malheureusement.
Duke Nukem
Mon BOIS n'a pas non plus cette option. Veuillez nous faire savoir si vous avez trouvé une réponse - j'ai l'habitude de couper mon alimentation depuis des années, et j'aimerais vraiment changer cela ...
Allen Pestaluky

Réponses:

3

Edit 2: Clarification

Cette réponse ne résout pas le problème en question dans sa formulation d'origine. La désactivation du réveil pour tous les futurs appareils ne semble pas possible. La solution de cette réponse vous permet uniquement de désactiver le réveil pour tous les appareils actuellement connectés .

Ma réponse originale:

Cette question semble avoir été répondue dans une autre réponse SO

for /F "tokens=*" %%A in ('powercfg -devicequery wake_armed') do powercfg -devicedisablewake "%%A"

Cela doit être exécuté en tant qu'administrateur.

Éditer:

Pour fournir une solution plus complète, voici un script qui demande des privilèges d'administrateur avant d'exécuter la boucle ci-dessus. Les droits d'administrateur sont demandés à l'aide d'un groupe motopropulseur Microsoft (écrit en VisualBasic, sans surprise)

@echo off
if "%~1"=="" (
  elevate %0 do
) else if "%~1"=="do" (
  for /F "tokens=*" %%A in ('powercfg -devicequery wake_armed') do (
    if not "%%A"=="NONE" (
      echo Disabling %%A
      powercfg -devicedisablewake "%%A"
    )
  )
  echo All done.
  pause
) else (
  echo Usage: %~nx0
)
Serpent
la source
Cela ne désactivera que la configuration actuelle des périphériques USB, pas toutes les configurations futures comme la question posée. Par exemple, exécutez ce script, puis débranchez une souris et rebranchez-la à un nouveau port - la souris sortira de nouveau du sommeil à moins que ce script ne soit à nouveau exécuté pour la nouvelle configuration de périphérique USB.
Allen Pestaluky
1
@AllenPestaluky la question a des modifications qui demandent au moins une solution partielle si la solution complète n'est pas possible. Ma réponse (et la réponse à laquelle je renvoie) est exactement la solution partielle que le PO demande.
SnakE
Merci, ce script batch fait exactement ce que je voulais. Je vais peut-être essayer de trouver un moyen d'automatiser cela à l'avenir. Souhaitez-vous savoir s'il existe un moyen d'effectuer les appels powercfg via l'API Windows, pour éviter de générer des processus séparés?
Duke Nukem
1
@DukeNukem Non, je ne connais pas une telle API. Je n'ai pas fait de recherche, donc ça pourrait encore exister. Tous ces paramètres doivent également figurer dans le registre. Vous pouvez donc utiliser le procmonpowertoy pour tracer les emplacements de registre accessibles par powercfg -devicequery wake_armedet écrire votre propre outil de manipulation de registre.
SnakE
1

Pour répondre aux questions de vos modifications:

Non, vous ne pouvez pas utiliser powercfg pour énumérer les périphériques afin de modifier le comportement de réveil par défaut de toutes les futures configurations USB, comme vous l'avez demandé dans votre question d'origine.

J'ai essayé d'utiliser le For /F "tokens=*" %%A in ('powercfg -devicequery wake_armed') do powercfg -devicedisablewake "%%A"script, mais après avoir branché mon périphérique USB sur un nouveau port, il est revenu par défaut au réveil de l'ordinateur.

J'ai même essayé le résultat d'énumérer powercfg -devicequery wake_from_any, mais il semble que vous ne pouvez énumérer connectés les périphériques USB. Même l' wake_from_anyargument renvoie une liste différente chaque fois que vous changez le port auquel votre périphérique USB est branché.

Pour répondre à votre question d'origine:

Je n'ai aucune idée. Je veux vraiment connaître la réponse à cela, mais je n'ai toujours pas trouvé de réponse. Si quelqu'un peut comprendre cela, vous serez aimés! <3

Allen Pestaluky
la source
1

[ AVERTISSEMENT ] Ce n'est pas une réponse à la question OP mais plutôt une solution au problème pour lequel vous vous êtes probablement retrouvé ici!

Vieux fil, mais je suis venu ici d'abord pour une solution que j'ai fini par résoudre d'une autre manière et maintenant je partage.

[ PROBLÈME ] Mon problème était avec un périphérique USB (contrôleur xbox) gardant le PC éveillé ou le réveillant dès qu'il est entré en veille. Au début, j'ai fini par avoir besoin de faire de quoi parlait OP, après quoi j'utilisais le script publié ici par SnakE.

[ SOLUTION ] Il a été résolu correctement sans aucun script hacky ou contrôle manuel simplement en configurant XHCI dans le BIOS en le réglant de SmartAuto sur Activé.

[ BITS OF WHY ] Ce que cela fait est de forcer le contrôleur USB intégré à agir comme USB3 tout le temps plutôt que de rétrograder vers USB2 et de passer ensuite à USB3 lorsque le système d'exploitation prend le contrôle. Le forcer à se comporter s'est avéré avoir résolu mon problème avec le mauvais fonctionnement du pilote de périphérique USB lors de la transition du PC en veille / veille prolongée. L'exécution de Windows 10 qui a intégré des pilotes pour USB3 activant le mode XHCI fonctionne beaucoup, cela peut me venir si vous démarrez un système d'exploitation qui ne prend pas en charge USB3.

SmartAuto n'aurait pas dû être un problème car ( comme indiqué ici ) après le premier démarrage, le contrôleur devrait rester sur USB3, mais il y a peut-être un bug quelque part dans sa prise de décision et il se comportait comme Auto sur ma carte mère Asus.

Cody
la source
Cela a résolu mon problème avec un récepteur Logitech sur un ordinateur portable ASUS. Après cette correction du BIOS (j'ai choisi Désactivé), j'ai également dû désactiver la capacité de chaque appareil à réactiver l'ordinateur dans le Gestionnaire de périphériques.
Jim Hunziker
-1

Cela semble qu'une documentation de problème connu peut être trouvée ici Résumé:

Solution de contournement 1 (recommandé)

Branchez le périphérique USB sur un contrôleur hôte EHCI (Enhanced Host Controller Interface).

Solution de contournement 2

Désactivez la capacité du périphérique USB à réveiller l'ordinateur. Pour le faire, suivez ces étapes:

Click Start
Start button
, right-click Computer, and then click Manage.
In the User Account Control dialog box, click Continue.

User Account Control permission
If you are prompted for an administrator password or for a confirmation, type the password, or click Allow.
Click Device Manager, expand Universal Serial Bus controllers, right-click the device, and then click Properties.
Click the Power Management tab, disable the Allow this device to wake the computer check box, and then click OK.

Remarque Nous vous recommandons d'utiliser la solution de contournement 1 car elle préserve la fonctionnalité de réveil. Lorsque vous utilisez la solution de contournement 2, les périphériques USB ne peuvent pas réveiller l'ordinateur. En outre, le bouton d'alimentation de la télécommande d'un récepteur infrarouge Windows Media Center ne peut pas réveiller l'ordinateur.

vfbsilva
la source
1
Merci pour votre réponse, mais la documentation à laquelle vous avez lié n'est pas le problème que j'ai. Les étapes que vous montrez dans la solution de contournement 2 sont exactement ce que je dois faire chaque fois que je dois désactiver le réveil USB sur un appareil. Ce que je veux, c'est que ce sillage soit désactivé par défaut, donc je n'ai pas à faire ces étapes à chaque fois, et je n'ai trouvé aucun moyen de le faire ...
Duke Nukem