PowerShell禁用/启用设备最推荐:以管理员身份运行后,用Get-PnpDevice筛选设备,再用Disable-PnpDevice/Enable-PnpDevice配合InstanceId操作,即时生效、支持模糊匹配与批量处理。

需要在不打开图形界面的情况下快速停用或恢复某块网卡、声卡或USB控制器,比如批量部署环境、远程服务器维护或脚本自动化场景,命令行是唯一可靠途径。
使用PowerShell禁用/启用设备(推荐)
此方法直接调用Windows即插即用管理器API,操作即时生效,无需重启,且支持模糊匹配和批量处理。
第一步:以管理员身份运行Windows PowerShell。右键“开始”按钮→选择“Windows PowerShell(管理员)”。【必须以管理员权限运行,否则命令将被拒绝】
第二步:执行命令列出所有处于“OK”状态的设备,并按类别筛选,例如查看所有正常工作的网络适配器:
Get-PnpDevice -Class Net | Where-Object {$_.Status -eq "OK"}
第三步:从输出中复制目标设备的InstanceId,它通常是一长串含&和的字符串,形如“PCIVEN_10EC&DEV_8168&SUBSYS...”。注意不要复制前面的“#”或后面的状态描述。
第四步:执行禁用命令,替换引号内的InstanceId为上一步获取的真实值:
Disable-PnpDevice -InstanceId "PCIVEN_10EC&DEV_8168&SUBSYS_..." -Confirm:$false
第五步:启用设备只需把Disable-PnpDevice换成Enable-PnpDevice,其余参数保持不变。
使用powercfg禁用唤醒功能(仅限唤醒型设备)
该命令不真正禁用硬件,而是关闭其“从睡眠中唤醒电脑”的能力,适用于防止鼠标误触、网卡心跳包导致休眠失效等特定问题。
以管理员身份运行PowerShell或CMD,输入:
powercfg -devicequery wake_armed
查看返回列表,确认目标设备名称(如“HID-compliant mouse”),注意括号、空格、大小写必须完全一致。
执行禁用唤醒命令:
powercfg -devicedisablewake "HID-compliant mouse"
让 Windows 桌面程序在开机时静默自启并隐藏到系统托盘。特别适用于 Flutter、Electron 等无视 VBS/ProcessStartInfo 窗口样式、难以隐藏的顽固应用。提供「VBS 启动器 + Python ctypes/Win32 API」的隐藏窗口方案,可稳定把窗口收进托盘且不闪控制台。
再次运行powercfg -devicequery wake_armed,若该设备未再出现,说明已成功移除唤醒权限。
使用pnputil禁用设备(兼容性最强)
pnputil是Windows原生工具,不依赖PowerShell模块,在老旧系统或精简版WinPE中仍可稳定运行。
方法一:管理员身份运行命令提示符(cmd),执行:
pnputil /enum-devices /connected
方法二:在输出中定位目标设备,找到其“Instance ID”字段值,复制整行内容(含大括号)。
方法三:执行禁用命令,格式为:
pnputil /disable-device "PCI\VEN_10EC&DEV_8168&SUBSYS_..."
启用设备则将/disable-device替换为/enable-device。
使用DevCon禁用设备(高级用户专用)
DevCon功能最全面,但需额外安装WDK,适合驱动开发、测试及企业级批量设备管控。
先确认DevCon路径是否存在,典型位置为:
C:Program Files (x86)Windows KitsTools.0.26100.0ddevcon.exe
若不存在,需下载并安装Windows驱动程序工具包(WDK),否则命令将提示“不是内部或外部命令”。
以管理员身份运行CMD,进入DevCon所在目录后,执行:
devcon disable "PCIVEN_10EC&DEV_8168&*"
星号*支持通配符匹配,可一次禁用同厂商同型号的所有设备。启用则把disable换成enable。

















