Як заборонити USB-пристрої розбудувати комп'ютер за замовчуванням в Windows 7


16

Кожен раз, коли я підключаю нову мишу / клавіатуру або підключаю існуючий до нового порту USB, я повинен вручну перейти до диспетчера пристроїв, перейти на сторінку властивостей пристрою та зняти прапорець "Дозволити цьому пристрою розбудити комп'ютер" на сторінка "Управління живленням". введіть тут опис зображення

Чи можливо налаштувати системну політику в Windows 7 таким чином, щоб це поле не було встановлено для нових мишей / клавіатур USB за замовчуванням?

Редагувати: Якщо немає можливості встановити таку системну політику, чи є принаймні спосіб перерахувати та відключити функцію пробудження USB на пристроях, використовуючи powercfgпакетний файл?

Змінити 2: Це повинно бути можливо зробити , по крайней мере , використовуючи powercfg. powercfg devicequery wake_armedдає список усіх пристроїв, які можуть розбудити систему. Тепер, як я можу повернути цей список назад powercfgі чи відключити його на вказаних пристроях?


1
Ви можете вимкнути це в деяких BIOS (Legacy та UEFI)
перегляньте

На жаль, у моєї BIOS немає такої опції.
Герцог Нукей

Мій BOIS також не має такої можливості. Будь ласка, повідомте нас, якщо ви знайшли відповідь - Я мав звичку відключати джерело живлення роками, і я дуже хотів би це змінити ...
Аллен Песталуки

Відповіді:


4

Редагування 2: Роз'яснення

Ця відповідь не вирішує питання, про яке йдеться, у своєму первісному формулюванні. Вимкнути пробудження для всіх майбутніх пристроїв, здається, неможливо. Рішення в цій відповіді дозволяє лише вимкнути функцію пробудження для всіх підключених на даний момент пристроїв.

Моя оригінальна відповідь:

Здається, на це запитання відповіли ще в одній відповіді

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

Це потрібно запустити як адміністратор.

Редагувати:

Щоб запропонувати більш повне рішення, тут є сценарій, який вимагає права адміністратора перед запуском вищевказаного циклу. Права адміністратора запитуються за допомогою Microsoft Powertoy (написано VisualBasic, не дивно)

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

Це вимкне лише поточну конфігурацію USB-пристроїв, а не всіх майбутніх конфігурацій, як запитання. Наприклад, запустіть цей скрипт, відключіть мишку та підключіть її до нового порту - миша знову прокинеться зі сну, якщо цей сценарій не буде запущений знову для нової конфігурації пристрою USB.
Аллен Песталуки

1
@AllenPestaluky питання має зміни, які вимагають принаймні часткового рішення, якщо повне рішення неможливо. Моя відповідь (і відповідь, на яку я посилаюсь) - це саме часткове рішення, про яке задається ОП.
SnakE

Дякую, цей пакетний сценарій робить саме те, що я хотів. Я можу спробувати знайти спосіб автоматизації цього в майбутньому. Чи трапляється вам знати, чи існує спосіб здійснення викликів powercfg через API Windows, щоб уникнути нерестування окремих процесів?
Герцог Нукей

1
@DukeNukem Ні, я не знаю такого API. Я не робив жодних досліджень, хоча це все ще може існувати. Також всі ці налаштування повинні бути в реєстрі. Таким чином, ви можете використовувати procmonpowertoy для відстеження, до яких місць доступу до реєстру, powercfg -devicequery wake_armedі написати свій власний інструмент маніпуляції з реєстром.
SnakE

1

Щоб відповісти на запитання в редагуванні:

Ні, ви не можете використовувати powercfg для перерахування пристроїв для зміни поведінки за замовчуванням усіх майбутніх конфігурацій USB, як ви задали у своєму первісному запитанні.

Я спробував скористатися For /F "tokens=*" %%A in ('powercfg -devicequery wake_armed') do powercfg -devicedisablewake "%%A"сценарієм, але після підключення USB-пристрою до нового порту він повернувся до дефолту до пробудження комп'ютера.

Я навіть намагався перерахувати результат powercfg -devicequery wake_from_any, але, здається, ви можете перерахувати лише підключені USB-пристрої. Навіть wake_from_anyаргумент повертає інший список щоразу, коли ви змінюєте порт, до якого підключається ваш USB-пристрій.

Щоб відповісти на своє первісне запитання:

Я поняття не маю. Я дуже хочу знати відповідь на це, але я все ще не знайшов відповіді. Якщо хтось може це зрозуміти, вас люблять дорого! <3


1

[ ВІДКРИТТЯ ] Це не відповідь на питання ОП, а швидше рішення проблеми, заради якої ви, ймовірно, опинилися тут!

Стара тема, але я спершу прийшов сюди за рішенням, яке я врешті-решт вирішив по-іншому, і тепер я ділюсь.

[ ПИТАННЯ ] У мене виникла проблема з USB-пристроєм (контролером xbox), який тримає ПК у спокої або пробуджує його, як тільки він перейшов у сон. Спочатку я в кінцевому підсумку потребував робити те, про що говорив ОП, після чого використовував сценарій, розміщений тут SnakE.

[ РІШЕННЯ ] Це було вирішено належним чином без хакі-скриптів або ручних керувань, просто налаштувавши XHCI в біосах, встановивши його з SmartAuto на Enabled.

[ БІЛЬКИ ЧОМУ ]. Це змушує змусити контролер USB на борту постійно діяти як USB3, а не переходити на USB2, а потім переходити на USB3, коли ОС приймає на себе контроль. Примушуючи його вести себе доведено, вирішив мою проблему з драйвером USB-пристрою при неправильному поводженні при спробі переходу ПК у режим сну / сну. Запуск ОС Windows 10, в якій вбудовані драйвери для USB3, що дозволяє режиму XHCI, дуже добре працює, моє питання приходить, якщо завантажуєте деяку ОС, яка не підтримує USB3.

SmartAuto не повинен був бути проблемою, оскільки ( як зазначено тут ) після першого завантаження контролер повинен залишатися на USB3, але, можливо, десь є помилка в його прийнятті рішень, і він поводився як Авто на моїй материнській платі Asus.


Це вирішило мою проблему з приймачем Logitech на ноутбуці ASUS. Після цього виправлення BIOS (я вибрав Disabled), мені також довелося вимкнути можливість кожного пристрою знову розбудити комп’ютер у Диспетчері пристроїв.
Jim Hunziker

-1

Здається, відому документацію щодо випуску можна знайти тут Резюме:

Обхід 1 (рекомендується)

Підключіть USB-пристрій до хост-контролеру вдосконаленого хост-контролера (EHCI).

Обхід 2

Вимкніть можливість USB-пристрою розбудити комп'ютер. Для цього виконайте наступні дії:

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.

Примітка. Ми рекомендуємо використовувати обхідний шлях 1, оскільки це забезпечує збереження функціональності. Коли ви використовуєте обхідний шлях 2, пристрої USB не можуть розбудити комп'ютер. Крім того, кнопка живлення пульта дистанційного керування для ІК-приймача Windows Media Center не може розбудити комп'ютер.


1
Дякую за вашу відповідь, але документація, з якою ви пов’язані, не є проблемою, з якою у мене є. Етапи, які ви показуєте у вирішенні 2, - це саме те, що я повинен робити щоразу, коли мені потрібно відключити USB-пробудження на пристрої. Я хочу, щоб ця хвиля була відключена за замовчуванням, тому мені не доведеться робити ці кроки кожен раз, і я не міг знайти жодного способу зробити це взагалі ...
Герцог Нукей
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.