Como impedir que dispositivos USB ativem o computador por padrão no Windows 7


16

Sempre que conecto um mouse / teclado novo ou conecto um existente a uma nova porta USB, tenho que ir manualmente ao gerenciador de dispositivos, acessar a página de propriedades do dispositivo e desmarcar a opção "Permitir que este dispositivo ative o computador" em a página "Gerenciamento de energia". insira a descrição da imagem aqui

É possível configurar uma diretiva do sistema no Windows 7, de modo que esta caixa não esteja marcada por novos mouses / teclados USB por padrão?

Editar: se não há como configurar uma diretiva do sistema, há pelo menos uma maneira de enumerar e desativar a ativação por USB em dispositivos usando powercfgum arquivo em lotes?

Edit 2: Este tem de ser possível fazer pelo menos usando powercfg. powercfg devicequery wake_armedfornece uma lista de todos os dispositivos que podem ativar o sistema. Agora, como posso alimentar esta lista powercfge desativá-la nos dispositivos listados?


1
Você pode desabilitar isso em alguns BIOS (Legacy e UEFI)
justbrowsing

Infelizmente, meu BIOS não tem essa opção.
Duke Nukem

Meu BOIS também não possui essa opção. Por favor, deixe-nos saber se você encontrou uma resposta - Eu estive no hábito de desligar minha fonte de alimentação por anos, e eu realmente gostaria de mudar isso ...
Allen Pestaluky

Respostas:


3

Edição 2: Esclarecimento

Esta resposta não resolve o problema em questão na sua redação original. Desativar a ativação para todos os dispositivos futuros não parece ser possível. A solução nesta resposta permite apenas desativar a ativação de todos os dispositivos conectados no momento .

Minha resposta original:

Esta pergunta parece ter sido respondida em outra resposta SO

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

Isso precisa ser executado como administrador.

Editar:

Para fornecer uma solução mais completa, aqui está um script que solicita privilégios de administrador antes de executar o loop acima. Os direitos de administrador são solicitados usando um powertoy da Microsoft (escrito em VisualBasic, sem surpresa)

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

Isso desativará apenas a configuração atual dos dispositivos USB, nem todas as configurações futuras, como a pergunta solicitada. Por exemplo, execute esse script, desconecte o mouse e conecte-o novamente a uma nova porta - o mouse agora será reativado a menos que este script seja executado novamente para a nova configuração do dispositivo USB.
Allen Pestaluky

1
@AllenPestaluky a pergunta tem edições que pedem pelo menos uma solução parcial se a solução completa não for possível. Minha resposta (e a resposta à qual eu vinculo) é exatamente a solução parcial que o OP está pedindo.
Cobra

Obrigado, este script em lote faz exatamente o que eu queria. Eu posso tentar encontrar uma maneira de automatizar isso no futuro. Você saberia se existe uma maneira de fazer as chamadas powercfg através da API do Windows, para evitar a geração de processos separados?
Duke Nukem

1
@DukeNukem Não, eu não estou ciente dessa API. Eu não fiz nenhuma pesquisa, por isso ainda pode existir. Além disso, todas essas configurações devem estar no registro. Portanto, você pode usar o procmonpowertoy para rastrear quais locais de registro são acessados powercfg -devicequery wake_armede gravar sua própria ferramenta de manipulação de registro.
Cobra

1

Para responder às perguntas em suas edições:

Não, você não pode usar o powercfg para enumerar dispositivos para alterar o comportamento padrão de ativação de todas as configurações futuras do USB, como você fez na sua pergunta original.

Tentei usar o For /F "tokens=*" %%A in ('powercfg -devicequery wake_armed') do powercfg -devicedisablewake "%%A"script, mas depois de conectar meu dispositivo USB a uma nova porta, ele voltou a ativar o computador.

Eu até tentei enumerar o resultado de powercfg -devicequery wake_from_any, mas parece que você só pode enumerar dispositivos USB conectados . Até o wake_from_anyargumento retorna uma lista diferente cada vez que você altera a porta na qual seu dispositivo USB está conectado.

Para responder à sua pergunta original:

Eu não faço ideia. Eu realmente quero saber a resposta para isso, mas ainda não encontrei uma resposta. Se alguém puder descobrir isso, você será amado! <3


1

[ AVISO LEGAL ] Esta não é uma resposta para a pergunta do OP, mas uma solução para o problema para o qual você provavelmente acabou aqui!

Tópico antigo, mas vim aqui em primeiro lugar para uma solução que acabei resolvendo de outra maneira e agora estou compartilhando.

[ PROBLEMA ] Meu problema foi com um dispositivo USB (controlador xbox) mantendo o PC acordado ou acordando-o assim que entrava no modo de suspensão. No começo, acabei precisando fazer o que o OP estava falando, depois estava usando o script postado aqui pelo SnakE.

[ SOLUÇÃO ] Foi resolvido corretamente, sem scripts hacky ou controles manuais, apenas configurando o XHCI no BIOS, definindo-o de SmartAuto para Ativado.

[ BITS OF WHY ] O que isso faz é forçar o USB a bordo do controlador a agir como USB3 o tempo todo, em vez de fazer o downgrade para USB2 e depois mudar para USB3 quando o SO assumir o controle. Forçar o seu comportamento provou ter resolvido meu problema com o driver de dispositivo USB que se comporta mal ao tentar fazer a transição do PC para suspensão / hibernação. A execução do Windows 10, que possui drivers embutidos para USB3 que ativam o modo XHCI, funciona muito bem, em alguns casos, é possível inicializar alguns SOs que não suportam USB3.

O SmartAuto não deveria ter sido um problema, porque ( conforme declarado aqui ) após a primeira inicialização, o controlador deve permanecer no USB3, mas talvez haja um bug em algum lugar na tomada de decisões e ele estava se comportando como Automático na minha placa-mãe Asus.


Isso corrigiu meu problema com um receptor Logitech em um laptop ASUS. Após essa correção do BIOS (escolhi Desativado), também tive que desativar a capacidade de cada dispositivo para ativar o computador no Gerenciador de dispositivos novamente.
Jim Hunziker

-1

Parece que uma documentação de problema conhecido pode ser encontrada aqui Resumo:

Solução alternativa 1 (recomendada)

Conecte o dispositivo USB a um controlador de host EHCI (Enhanced Host Controller Interface).

Solução 2

Desative a capacidade do dispositivo USB de ativar o computador. Para fazer isso, execute as seguintes etapas:

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 Recomendamos que você use a solução alternativa 1, pois preserva a funcionalidade de ativação. Quando você usa a solução alternativa 2, os dispositivos USB não podem ativar o computador. Além disso, o botão liga / desliga do controle remoto de um receptor de infravermelho do Windows Media Center não pode ativar o computador.


1
Obrigado pela sua resposta, mas a documentação à qual você vinculou não é o problema que estou tendo. As etapas que você mostra na solução 2 são exatamente o que tenho que fazer toda vez que preciso desativar a ativação por USB em um dispositivo. O que eu quero é que esta esteira para ser desativado por padrão, então eu não tenho que fazer estes passos de cada vez, e eu não poderia encontrado alguma maneira de fazer isso em tudo ...
Duke Nukem
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.