每次我插入新的鼠标/键盘或将现有的鼠标/键盘插入新的 USB 端口时,我都必须手动转到设备管理器,转到设备的属性页面,然后在“电源管理”页面上取消选中“允许此设备唤醒计算机”。
是否可以在 Windows 7 中设置系统策略,以便默认情况下不选中新的 USB 鼠标/键盘的此框?
编辑:如果没有办法设置这样的系统策略,是否至少有办法通过使用powercfg
批处理文件来枚举和禁用 USB 唤醒设备?
编辑2:这有至少可以使用powercfg
。powercfg devicequery wake_armed
给出可以唤醒系统的所有设备的列表。现在我如何将此列表反馈给它powercfg
并让它禁用列出的设备上的唤醒?
答案1
编辑2:澄清
这个答案并没有解决其原始措辞中的问题。禁用所有未来设备的唤醒似乎是不可能的。这个答案中的解决方案只允许您禁用所有设备的唤醒当前已连接设备。
我原来的答案:
这个问题似乎已经得到回答另一个答案
for /F "tokens=*" %%A in ('powercfg -devicequery wake_armed') do powercfg -devicedisablewake "%%A"
这需要以管理员身份运行。
编辑:
为了提供更完整的解决方案,这里有一个脚本,它在运行上述循环之前请求管理员权限。使用以下方式请求管理员权限:微软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
)
答案2
[免责声明] 这不是对 OP 问题的回答,而是对您可能最终遇到的问题的解决方案!
这是老帖子,但我首先来这里是为了寻求解决方案,最终以另一种方式解决了这个问题,现在我正在分享。
[问题] 我的问题是 USB 设备(xbox 控制器)让 PC 保持唤醒状态,或者在 PC 进入睡眠状态后立即唤醒它。起初我最终需要按照 OP 所说的去做,之后我尝试了 SnaKe 脚本。
[解决方案] 只需在 BIOS 中配置 XHCI 并将其从 SmartAuto 设置为 Enabled 即可正确解决问题,无需任何黑客脚本或手动控制。
[部分原因] 这样做的目的是强制 USB 板载控制器始终充当 USB3,而不是降级为 USB2,然后在操作系统接管时切换到 USB3。强制它的行为已被证明解决了我在尝试将 PC 转换为睡眠/休眠状态时 USB 设备驱动程序行为不当的问题。运行内置了 USB3 驱动程序的 Windows 10 启用 XHCI 模式效果很好,如果启动某些不支持 USB3 的操作系统,强制它可能会引发问题。
SmartAuto 本来就不应该成为问题,因为(正如这里所述) 在计算机第一次启动后,控制器应该保持在 USB3 上(作为启用状态),但也许它的逻辑中存在一个错误,或者该功能如何考虑睡眠状态并且它在我的华硕主板上表现为自动。
答案3
回答您编辑中的问题:
不,您不能使用 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
答案4
这似乎是一个已知问题,可以找到文档这里 概括:
解决方法 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 IR 接收器的遥控器电源按钮也无法唤醒计算机。