Come impedire ai dispositivi USB di riattivare il computer per impostazione predefinita in Windows 7


16

Ogni volta che collego un nuovo mouse / tastiera o collego uno esistente a una nuova porta USB, devo andare manualmente a Gestione dispositivi, andare alla pagina delle proprietà del dispositivo e deselezionare "Consenti a questo dispositivo di riattivare il computer" su la pagina "Risparmio energia". inserisci qui la descrizione dell'immagine

È possibile impostare un criterio di sistema in Windows 7, in modo che questa casella non sia selezionata per nuovi mouse / tastiere USB per impostazione predefinita?

Modifica: se non c'è modo di impostare un tale criterio di sistema, esiste almeno un modo per enumerare e disabilitare la riattivazione USB sui dispositivi utilizzando powercfgun file batch?

Modifica 2: questo deve essere possibile almeno usando powercfg. powercfg devicequery wake_armedfornisce un elenco di tutti i dispositivi che possono riattivare il sistema. Ora, come posso ripristinare questo elenco powercfge farlo disabilitare sui dispositivi elencati?


1
È possibile disabilitarlo in alcuni BIOS (Legacy e UEFI)
appena arrivato il

Purtroppo il mio BIOS non ha tale opzione.
Duca Nukem,

Anche il mio BOIS non ha questa opzione. Fateci sapere se avete trovato una risposta - Ho l'abitudine di spegnere il mio alimentatore per anni e mi piacerebbe davvero cambiarlo ...
Allen Pestaluky,

Risposte:


3

Modifica 2: chiarimento

Questa risposta non risolve il problema in questione nella sua formulazione originale. Non è possibile disabilitare la sveglia per tutti i dispositivi futuri. La soluzione in questa risposta ti consente solo di disabilitare wake per tutti i dispositivi attualmente connessi .

La mia risposta originale:

Questa domanda sembra aver ricevuto risposta in un'altra risposta SO

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

Questo deve essere eseguito come amministratore.

Modificare:

Per fornire una soluzione più completa, ecco uno script che richiede i privilegi di amministratore prima di eseguire il ciclo precedente. I diritti di amministratore sono richiesti utilizzando un powertoy Microsoft (scritto in VisualBasic, non sorprende)

@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
)

Ciò disabiliterà solo la configurazione corrente dei dispositivi USB, non tutte le configurazioni future come la domanda posta. Ad esempio, esegui questo script, quindi scollega un mouse e ricollegalo a una nuova porta: il mouse ora si riattiverà dallo stato di sospensione a meno che questo script non venga eseguito nuovamente per la nuova configurazione del dispositivo USB.
Allen Pestaluky,

1
@AllenPestaluky la domanda ha delle modifiche che richiedono almeno una soluzione parziale se la soluzione completa non è possibile. La mia risposta (e la risposta a cui mi collego) è esattamente la soluzione parziale richiesta dall'OP.
SnakE

Grazie, questo script batch fa esattamente quello che volevo. Potrei provare a trovare un modo per automatizzare questo in futuro. Ti capita di sapere se esiste un modo per eseguire le chiamate powercfg tramite l'API di Windows, per evitare la generazione di processi separati?
Duke Nukem,

1
@DukeNukem No, non sono a conoscenza di tale API. Non ho fatto alcuna ricerca, quindi potrebbe ancora esistere. Inoltre, tutte queste impostazioni devono essere nel registro. Quindi puoi usare il procmonpowertoy per tracciare le posizioni del registro a cui accede powercfg -devicequery wake_armede scrivere il tuo strumento di manipolazione del registro.
SnakE

1

Per rispondere alle domande nelle modifiche:

No, non puoi utilizzare powercfg per enumerare i dispositivi per modificare il comportamento di riattivazione predefinito di tutte le future configurazioni USB come hai fatto nella domanda originale.

Ho provato a usare lo For /F "tokens=*" %%A in ('powercfg -devicequery wake_armed') do powercfg -devicedisablewake "%%A"script, ma dopo aver collegato il mio dispositivo USB a una nuova porta, è tornato di default a riattivare il computer.

Ho anche provato a enumerare il risultato di powercfg -devicequery wake_from_any, ma sembra che sia possibile elencare solo i dispositivi USB collegati . Anche l' wake_from_anyargomento restituisce un elenco diverso ogni volta che si cambia la porta in cui è collegato il dispositivo USB.

Per rispondere alla domanda originale:

Non ne ho idea. Voglio davvero sapere la risposta a questo, ma non ho ancora trovato una risposta. Se qualcuno riesce a capirlo, sarai amato a fondo! <3


1

[ DISCLAIMER ] Questa non è una risposta alla domanda OP ma piuttosto una soluzione al problema per cui probabilmente sei finito qui!

Vecchio thread ma sono venuto qui prima per una soluzione che ho finito per risolvere in un altro modo e ora sto condividendo.

[ PROBLEMA ] Il mio problema era con un dispositivo USB (controller xbox) che teneva il PC sveglio o lo riattiva non appena è entrato in modalità di sospensione. All'inizio ho dovuto fare ciò di cui parlava OP, dopodiché stavo usando la sceneggiatura pubblicata qui da SnakE.

[ SOLUZIONE ] È stato risolto correttamente senza script o controlli manuali confusi semplicemente configurando XHCI nel BIOS impostandolo da SmartAuto a Abilitato.

[ BITS OF WHY ] Ciò che fa è forzare il controller USB di bordo a fungere sempre da USB3 anziché effettuare il downgrade a USB2 e quindi passare a USB3 quando il sistema operativo prende il controllo. Costringerlo a comportarsi ha dimostrato di aver risolto il mio problema con il comportamento errato del driver del dispositivo USB durante il tentativo di transizione del PC in modalità sospensione / ibernazione. L'esecuzione di Windows 10 che ha i driver integrati per USB3 che abilita la modalità XHCI funziona molto, ne deriva il mio se si avvia un sistema operativo che non supporta USB3.

SmartAuto non avrebbe dovuto essere un problema perché ( come indicato qui ) dopo il primo avvio il controller dovrebbe rimanere su USB3 ma forse c'è un bug da qualche parte nel suo processo decisionale e si stava comportando come Auto sulla mia scheda madre Asus.


Questo risolto il mio problema con un ricevitore Logitech su un laptop ASUS. Dopo questa correzione del BIOS (ho scelto Disabilitato), ho anche dovuto disattivare la capacità di ciascun dispositivo di riattivare il computer in Gestione dispositivi.
Jim Hunziker,

-1

Questo sembra un problema noto che può essere trovato qui Riepilogo:

Soluzione alternativa 1 (consigliata)

Collegare il dispositivo USB a un controller host EHCI (Enhanced Host Controller Interface).

Soluzione alternativa 2

Disabilita la capacità del dispositivo USB di riattivare il computer. Per fare ciò, attenersi alla seguente procedura:

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.

Nota Si consiglia di utilizzare Workaround 1 perché conserva la funzionalità di riattivazione. Quando si utilizza la soluzione alternativa 2, i dispositivi USB non possono riattivare il computer. Inoltre, il pulsante di accensione del telecomando per un ricevitore IR di Windows Media Center non può riattivare il computer.


1
Grazie per la tua risposta, ma la documentazione a cui ti sei collegato non è il problema che sto riscontrando. I passaggi mostrati nella soluzione 2 sono esattamente ciò che devo fare ogni volta che devo disabilitare la riattivazione USB su un dispositivo. Quello che voglio è che questa scia sia disabilitata per impostazione predefinita, quindi non devo fare questi passaggi ogni volta, e non ho trovato alcun modo per farlo ...
Duke Nukem,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.