get-windowsdriver -online 获取当前系统通过 dism 注入的第三方驱动详情,需管理员权限;离线查询须挂载映像并指定-path;默认仅显示启用驱动,加-all可显示禁用项,-limitaccess跳过windows update检查。
可以通过 powershell 的 get-windowsdriver cmdlet 获取已安装在 windows 系统中的驱动程序详情,该命令专用于离线或在线 windows 映像(包括当前运行系统),但需注意权限和使用场景差异。
确认权限与执行环境
必须以管理员身份运行 PowerShell,否则会因权限不足而报错或返回空结果。若目标为当前系统(在线模式),直接运行即可;若需查询其他 Windows 映像(如挂载的 WIM/ESD 文件),需提前用 Dism Mount-Image 挂载,并指定 -Path 参数指向挂载目录。
- 检查是否为管理员:运行 $ExecutionContext.SessionState.LanguageMode 应返回 FullLanguage,且进程用户为 Administrators 组成员
- 在线查询本机驱动:无需额外参数,命令默认作用于当前运行系统
- 离线查询映像:必须配合 -Path D:\Mount\Win10(路径需为已挂载的 Windows 映像根目录)
基础命令与常用参数
Get-WindowsDriver -Online 是获取当前系统已安装驱动的核心命令。它列出所有通过 DISM 添加、启用或内置的第三方驱动(不含微软签名的基础驱动如 USB、显示核心驱动等)。
- -Online:必需参数,表示查询当前运行系统(不能省略)
- -All:显示所有驱动条目(含禁用/未启用状态),默认只显示启用状态驱动
- -LimitAccess:跳过 Windows Update 连接检查,加快执行速度(推荐添加)
- 组合示例:Get-WindowsDriver -Online -All -LimitAccess | Format-List
筛选与导出关键信息
原始输出字段较多,重点关注 OriginalFileName(驱动文件名)、ProviderName(厂商)、ClassName(设备类别)、Date(发布日期)、Version(版本号)及 InfFile(INF 路径)。
- 按厂商筛选: Get-WindowsDriver -Online -LimitAccess | Where-Object {$_.ProviderName -like "*Realtek*"}
- 导出为 CSV: Get-WindowsDriver -Online -All -LimitAccess | Select-Object ProviderName,ClassName,Date,Version,InfFile | Export-Csv C:\Drivers.csv -NoTypeInformation
- 查看 INF 内容:结合 Get-Content 读取 InfFile 字段路径(需管理员权限访问 System32\DriverStore)
注意事项与常见问题
该命令不等同于设备管理器或 pnputil /enum-drivers,它仅反映通过 DISM 部署流程“注入”的驱动,而非所有加载中的驱动模块。系统自带驱动、PnP 自动安装驱动、临时测试驱动(.inf 未提交到 DriverStore)通常不会出现。
- 若返回空结果,不代表无驱动——可能只是没有通过 DISM 添加的第三方驱动
- 想查所有已加载驱动文件?改用 Get-WmiObject Win32_PnPSignedDriver | Select Name,DriverProviderName,DriverVersion,InfName
- 驱动路径实际存储在 %SystemRoot%\System32\DriverStore\FileRepository\,可配合 Get-ChildItem 手动浏览验证











