windows 11中获取设备实例id有五种方法:一、设备管理器图形界面查看;二、powershell命令批量导出;三、cmd调用pnputil枚举驱动;四、注册表hkey_local_machine\system\currentcontrolset\enum路径下直接读取;五、devcon工具精确查询导出。

如果您需要在 Windows 11 中获取硬件设备的唯一实例标识(Device Instance ID),以便用于驱动调试、设备策略部署、PowerShell 脚本自动化或故障排查,则需调用系统底层枚举机制。该ID是Windows为每个物理/逻辑设备在当前系统中分配的不可重复字符串,格式如PCI\VEN_8086&DEV_9A49&SUBSYS_00000000&REV_01\3&11583659&0&A0,具有会话级唯一性与即插即变特性。以下是多种可直接执行的获取方法:
一、通过设备管理器查看设备实例ID
设备管理器提供图形化界面直接展示每个已识别设备的完整实例ID,无需命令行操作,适用于快速定位单个设备并复制其精确路径。该ID可用于devcon工具控制、组策略设备安装限制或注册表设备键值导航。
1、右键点击任务栏左下角“开始”按钮,在弹出菜单中选择“设备管理器”。
2、在设备管理器窗口中,展开目标设备类别(如“显示适配器”“网络适配器”“声音、视频和游戏控制器”等)。
3、右键点击具体设备名称(例如“NVIDIA GeForce RTX 4070”或“Realtek RTL8168”),选择“属性”。
4、切换至“详细信息”选项卡,在“属性”下拉菜单中选择“设备实例路径”。
5、在下方“值”区域中,完整显示形如PCI\VEN_10DE&DEV_27A2&SUBSYS_...的字符串——此即该设备在当前系统中的唯一Device Instance ID。
二、使用PowerShell命令批量导出全部设备实例ID
PowerShell通过Get-PnpDevice cmdlet 可枚举所有即插即用设备,并支持按状态、类名或ID模式筛选输出,适合需要批量采集、比对或脚本集成的场景。输出结果包含Status、Class、Name及InstanceId字段,可直接导出为CSV供进一步分析。
1、右键点击“开始”按钮,选择“Windows Terminal(管理员)”或“Windows PowerShell(管理员)”。
2、输入以下命令并回车:Get-PnpDevice | Where-Object {$_.Status -eq "OK"} | Select-Object Name, Class, InstanceId | Format-List。
3、等待执行完成,所有当前启用且正常工作的设备将按名称、设备类及完整实例ID逐条列出。
4、如需导出至桌面文本文件,追加命令:| Out-File "$env:USERPROFILE\Desktop\DeviceInstanceIDs.txt"。
三、使用CMD命令行调用pnputil获取指定设备实例ID
pnputil.exe 是Windows内置设备安装工具,其/enumerate-drivers参数可列出所有已安装驱动包及其关联的设备实例ID,特别适用于验证驱动是否绑定到预期硬件,或排查驱动签名冲突导致的ID错位问题。
1、按下Win + R组合键,打开“运行”对话框。
2、输入cmd并按回车,启动命令提示符窗口。
3、输入以下命令并回车:pnputil /enum-drivers。
4、在输出结果中查找“Published Name”段落下的“OEM*.inf”条目,其下方紧邻的“Hardware ID”或“Device Instance ID”行即为对应驱动所服务的设备实例路径。
5、若需精确定位某厂商设备,可配合findstr过滤,例如:pnputil /enum-drivers | findstr "VEN_10EC"。
四、通过注册表直接读取设备实例ID存储位置
Windows将每个设备的实例ID持久化写入注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum路径下,以硬件总线类型(如PCI、USB、ACPI)为一级子键,结构清晰且与设备管理器完全一致。此方式适用于离线分析、注册表审计或与其他配置项交叉引用。
1、按下Win + R打开“运行”窗口,输入regedit并回车。
2、导航至注册表路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum。
3、逐层展开子键:例如先点开PCI,再寻找含VEN_与DEV_代码的子项(如VEN_8086&DEV_9A49),进入后查看右侧默认值或“DeviceDesc”项确认设备名称。
4、在该设备子键下,找到名为“InstanceId”的字符串值(若存在),其数据内容即为该设备当前注册的完整实例ID;若无此值,则默认使用子键名称本身作为实例ID。
五、使用DevCon工具精确查询并导出设备实例ID
DevCon是微软官方提供的命令行设备控制工具,功能远超pnputil,支持通配符匹配、远程设备枚举及XML格式导出。其listclass命令可按设备类精准提取所有实例ID,适用于企业IT批量资产管理或驱动部署前的设备指纹采集。
1、从微软官网下载Windows Driver Kit (WDK) 并安装,或单独提取devcon.exe(通常位于WDK安装目录的Tools\%ARCH%\devcon.exe)。
2、将devcon.exe复制至C:\Windows\System32目录,或将其所在路径添加至系统环境变量PATH。
3、以管理员身份打开命令提示符,输入:devcon listclass * | findstr /i "instance",可快速筛选含实例ID的关键行。
4、执行完整枚举命令:devcon findall * > C:\DeviceList.txt,生成含所有设备名称与实例ID的纯文本报告。











