命令行管理Windows设备
本文最后更新于353天前,其中的信息可能已经有所发展或是发生改变。

1.Devcon

DevCon (DevCon.exe) 是一种命令行工具,用于显示有关运行 Windows 的计算机上的设备的详细信息。 你也可以使用 DevCon 启用、禁用、安装、配置以及删除设备。 DevCon 使用以下语法。

devcon [/r] command [arguments]

DevCon 最初是且始终是代码示例,旨在作为示例,而不是要依赖的工具。 为了响应其受欢迎程度,我们创建了一些工具来替换 DevCon 的功能,同时遵循最佳做法并添加新功能。 请将 DevCon 使用情况替换为下面所述的解决方案。

2.PnPUtil

PnPUtil 是一种收件箱工具,允许用户查看有关设备和驱动程序的信息并更改其状态。

同时也是一种命令行工具,可让管理员对 驱动程序包执行操作。 示例包括:

  • 将驱动程序包添加到 驱动程序存储区
  • 在计算机上安装驱动程序包。
  • 从驱动程序存储区中删除驱动程序包。
  • 枚举当前位于驱动程序存储区中的驱动程序包。 仅列出非内置包的驱动程序包。 内置驱动程序包是 Windows 或其 service pack 的默认安装中包含的程序包。
Microsoft PnP 工具

PNPUTIL [/add-driver <...> | /delete-driver <...> |
        /export-driver <...> | /enum-drivers |
        /enum-devices [<...>] | /enum-interfaces [<...>] |
        /disable-device <...> | /enable-device <...> |
        /restart-device <...> | /remove-device <...> |
        /scan-devices [<...>] | /?]

命令:

 /add-driver <filename.inf | *.inf> [/subdirs] [/install] [/reboot]

   将驱动程序包添加到驱动程序存储中。
     /subdirs - 遍历驱动程序包的子目录。
     /install - 在任何匹配的设备上安装/更新驱动程序。
     /reboot - 根据需要重新启动系统以完成此操作。

   示例:
     添加驱动程序包:
       pnputil /add-driver x:\driver.inf
     添加多个驱动程序包:
       pnputil /add-driver c:\oem\*.inf
     添加和安装驱动程序包:
       pnputil /add-driver device.inf /install

 /delete-driver <oem#.inf> [/uninstall] [/force] [/reboot]

   从驱动程序存储中删除驱动程序包。
     /uninstall - 从任何使用驱动程序包的设备中卸载驱动程序包。
     /force - 删除驱动程序包,即使有设备正在使用它。
     /reboot - 根据需要重新启动系统以完成此操作。

   示例:
     删除驱动程序包:
       pnputil /delete-driver oem0.inf
     强制删除驱动程序包:
       pnputil /delete-driver oem1.inf /force

 /export-driver <oem#.inf | *> <目标目录>

   从驱动程序存储中将驱动程序包导出到目标目录中。

   示例:
     导出驱动程序包:
       pnputil /export-driver oem6.inf .
     导出所有驱动程序包:
       pnputil /export-driver * c:\backup

 /enum-drivers

   枚举驱动程序存储中的所有第三方驱动程序包。

   示例:
     枚举所有 OEM 驱动程序包:
       pnputil /enum-drivers

 /disable-device <instance ID> | /deviceid <device ID> [/reboot]

   禁用系统上的设备。
     /deviceid <device ID> - 禁用带匹配设备 ID 的所有设备。
     /reboot - 根据需要重新启动系统以完成此操作。
   示例:
     禁用设备:
       pnputil /disable-device "USB\VID_045E&PID_00DB\6&870CE29&0&1"
     禁用具有特定硬件/兼容 ID 的所有设备:
       pnputil /disable-device /deviceid "USB\Class_03"
 /enable-device <instance ID> | /deviceid <device ID> [/reboot]

   启用系统上的设备。
     /deviceid <device ID> - 启用带匹配设备 ID 的所有设备。
     /reboot - 根据需要重新启动系统以完成此操作。
   示例:
     启用设备:
       pnputil /enable-device "USB\VID_045E&PID_00DB\6&870CE29&0&1"
     启用具有特定硬件/兼容 ID 的所有设备:
       pnputil /enable-device /deviceid "USB\Class_03"
 /restart-device <instance ID> | /deviceid <device ID> [/reboot]

   重启系统上的设备。
     /deviceid <device ID> - 重启带匹配设备 ID 的所有设备。
     /reboot - 根据需要重新启动系统以完成此操作。
   示例:
     重启设备:
       pnputil /restart-device "USB\VID_045E&PID_00DB\6&870CE29&0&1"
     重新启动具有特定硬件/兼容 ID 的所有设备:
       pnputil /restart-device /deviceid "USB\Class_03"
 /remove-device <instance ID> | /deviceid <device ID> [/subtree] [/reboot]

   尝试从系统中删除设备。
     /deviceid <device ID> - 删除带匹配设备 ID 的所有设备。
     /subtree - 删除整个设备子树,包括任何子设备。
     /reboot - 根据需要重新启动系统以完成此操作。
   示例:
     删除设备:
       pnputil /remove-device "USB\VID_045E&PID_00DB\6&870CE29&0&1"
     删除具有特定硬件/兼容 ID 的所有设备:
       pnputil /remove-device /deviceid "USB\Class_03"
 /scan-devices [/instanceid <实例 ID>] [/async]

   扫描系统以查找任何设备硬件更改。
     /instanceid <实例 ID> - 在设备子树中扫描更改。
     /async - 异步扫描更改。

   示例:
     扫描设备:
       pnputil /scan-devices

 /enum-devices [/connected | /disconnected] [/instanceid <实例 ID>]
               [/class <name | GUID>] [/problem [<code>]] [/deviceids]
               [/relations] [/drivers]

   枚举系统上的所有设备。
     /connected | /disconnected - 按连接的设备筛选或
                                  按断开连接的设备筛选。
     /instanceid <实例 ID> - 按设备实例 ID 筛选。
     /class <名称 | GUID> - 按设备类名称或 GUID 筛选。
     /problem [<代码>] - 按出现问题的设备筛选或
                         按特定问题代码筛选。
     /bus [<name | GUID>]-显示总线枚举器名称和总线类型 GUID 或
                            按总线枚举器名称或总线类型 GUID 筛选。
     /deviceids-显示硬件/兼容 ID。
     /relations - 显示父级和子级设备关系。
     /drivers - 显示匹配的驱动程序和已安装的驱动程序。
     /stack-显示设备堆栈信息。
     /interfaces - 显示设备接口。
     /properties - 显示所有设备属性。

   示例:
     仅枚举系统上已连接的设备:
       pnputil /enum-devices /connected
     枚举具有特定实例 ID 的设备:
       pnputil /enum-devices /instanceid "ACPI\PNP0A08\1"
     枚举具有特定类的所有设备:
       pnputil /enum-devices /class Display
       pnputil /enum-devices /class {4d36e97d-e325-11ce-bfc1-08002be10318}
     枚举具有特定问题代码的所有设备:
       pnputil /enum-devices /problem 28
       pnputil /enum-devices /problem 0xA
     枚举具有特定总线的所有设备:
       pnputil /enum-devices /bus PCI
       pnputil /enum-devices /bus {c8ebdfb0-b510-11d0-80e5-00a0c92542e3}
     枚举具有问题的所有设备并显示硬件/兼容 ID:
       pnputil /enum-devices /problem /deviceids

 /enum-interfaces [/enabled | /disabled] [/class <GUID>]

   枚举系统上的所有设备接口。
     /enabled | /disabled - 按启用的接口筛选或
                            按禁用的接口筛选。
     /class <GUID> - 按接口类 GUID 筛选。

   示例:
     仅枚举系统上的已启用接口:
       pnputil /enum-interfaces /enabled
     枚举具有特定接口类 GUID 的所有接口:
       pnputil /enum-interfaces /class {884b96c3-56ef-11d1-bc8c-00a0c91405dd}

 /?

   显示使用情况屏幕。

3.等价表

Devcon 命令说明替代方法
列出所有设备安装类。pnputil /enum-classes
disable禁用设备。pnputil /disable-device
driverfiles列出设备的已安装驱动程序文件。pnputil /enum-drivers /files
drivernodes列出设备的驱动程序节点。pnputil /enum-devices /drivers
enable启用设备。pnputil /enable-device
find查找设备。pnputil /enum-devices /connected
findall查找设备,包括当前未附加的设备。pnputil /enum-devices
hwids列出设备的硬件 ID。pnputil /enum-devices /deviceids
安装创建测试设备并安装驱动程序。devgen /add /bus ROOT pnputil /add-driver <INF name> /install
listclass列出安装程序类中的所有设备。pnputil /enum-devices /class <name 或 GUID>
重新 启动重新启动本地计算机。shutdown /r /t 0
删除删除设备。pnputil /remove-device
重新扫描扫描新硬件。pnputil /scan-devices
resources列出设备的硬件资源。pnputil /enum-devices /resources
restart重启设备。pnputil /restart-device
堆栈列出设备的预期驱动程序堆栈。pnputil /enum-devices /stack
status列出设备的运行状态。pnputil /enum-devices
update手动更新设备。pnputil /add-driver <INF name> /install
updateni手动更新设备 (非交互式) 。pnputil /add-driver <INF name> /install
dp_add添加 (安装) 第三方 (OEM) 驱动程序包。pnputil /add-driver <INF 名称>
dp_delete删除第三方 (OEM) 驱动程序包。pnputil /delete-driver
dp_enum列出此计算机上安装的第三方 (OEM) 驱动程序包。pnputil /enum-drivers
等价表

参考文章

[1] 设备控制台 (DevCon.exe) 命令 - Windows drivers | Microsoft Learn

[2] PnPUtil - Windows drivers | Microsoft Learn

点击数:28

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇