大多数阅读此帖的人可能不会发现其他答案非常有用,因为它主要是关于如何以管理员权限运行问题中的脚本。我将在此尝试回答隐含的问题:
通过命令行启用/禁用设备
我发现最容易使用devcon.exe(6mb),就像问题中所述:
set HARDWARE_ID="PCI\VEN_8086&DEV_4229&SUBSYS_11018086&REV_61"
devcon disable %HARDWARE_ID%
timeout /t 3
devcon enable %HARDWARE_ID%
devcon.exe
需要管理员权限。
如何获取devcon
?
它是Windows驱动程序开发工具包的一部分。不幸的是,官方资源要求您下载1GB的SDK。我能够通过遵循这里的一个答案来绕过这个问题:https://superuser.com/questions/1002950/quick-method-to-install-devcon-exe
一旦您拥有了它,请确保devcon.exe
在您的%PATH%
上。我把我的放在了C:\Windows\System32\
中。
查找要操作的设备的硬件ID
以管理员权限打开命令提示符并执行devcon hwids *
,它将打印出所有设备及其对应的ID。这将产生大量输出。使用命令提示符的搜索功能找到您需要的内容。以下是我感兴趣的部分:
PCI\VEN_8086&DEV_4229&SUBSYS_11018086&REV_61\4&6AB551C&0&00E1
Name: Intel(R) Wireless WiFi Link 4965AGN
Hardware IDs:
PCI\VEN_8086&DEV_4229&SUBSYS_11018086&REV_61
PCI\VEN_8086&DEV_4229&SUBSYS_11018086
PCI\VEN_8086&DEV_4229&CC_028000
PCI\VEN_8086&DEV_4229&CC_0280
Compatible IDs:
PCI\VEN_8086&DEV_4229&REV_61
PCI\VEN_8086&DEV_4229
PCI\VEN_8086&CC_028000
PCI\VEN_8086&CC_0280
PCI\VEN_8086
PCI\CC_028000
PCI\CC_0280
选择一个足够具体的ID,并通过执行以下操作来检查其是否有效:
devcon find "PCI\VEN_8086&DEV_4229&SUBSYS_11018086&REV_61"
如果只找到1个设备,并且它是您想要的设备,那么就没问题了。请注意,通常您需要用引号转义硬件ID。
奖励:在启动或开机时运行.bat脚本
在我的情况下,我还需要在计算机关机或休眠后启动时运行此脚本。我赋予上述脚本合理的权限,并使用任务计划程序在登录和启动时运行它,在其术语中:
https://www.sevenforums.com/tutorials/67503-task-create-run-program-startup-log.html?ltr=T
devcon.exe
,而不仅仅是成为管理员组的成员。此外,您需要确保devcon.exe
要么与批处理文件一起放置在"%~dp0devcon.exe"
,要么在%PATH%
中,或者使用其完整路径调用"C:\Tools\devcon.exe"
。 - Compodevcon.exe
与批处理脚本在同一个文件夹中...你能否澄清一下如何在我的情况下以管理员身份运行devcon.exe
? - errata作为用户名为Administrator的用户
是右键单击并从上下文菜单中选择该选项?是这样吗?这意味着每次重新启动后都无法自动化此过程?? - errata