powershell 中用 get-wmiobject 获取硬件参数,核心是调用 wmi 类(如 win32_bios、win32_processor 等),直接读取系统固件和物理设备的底层信息;虽 powershell 3.0 起推荐改用 get-ciminstance,但 get-wmiobject 在 windows 7 至 10 多数版本中仍完全可用,命令简洁、兼容性好,适合快速查本地硬件状态。
powershell 中用 get-wmiobject 获取硬件参数,核心是调用 wmi 类(如 win32_bios、win32_processor 等),直接读取系统固件和物理设备的底层信息。虽然 powershell 3.0 起官方推荐改用 get-ciminstance,但 get-wmiobject 在 windows 7 至 windows 10 多数版本中仍完全可用,命令简洁、兼容性好,适合快速查本地硬件状态。
查 BIOS/UEFI 固件基本信息
BIOS 或 UEFI 版本、厂商、发布日期和序列号都存在主板芯片中,执行以下命令即可提取:
Get-WmiObject -Class Win32_BIOS | Select-Object SMBIOSBIOSVersion, Manufacturer, ReleaseDate, SerialNumber- 若
SerialNumber显示 To Be Filled By O.E.M.,说明 OEM 未写入,可结合主板序列号交叉验证 -
ReleaseDate是 WMI 时间戳格式(如20230512000000.000000+000),可用[Management.ManagementDateTimeConverter]::ToDateTime($_.ReleaseDate)转为可读日期
查主板型号与唯一标识
Win32_BaseBoard 提供比设备管理器更底层的主板信息,不受驱动或 UI 层干扰:
Get-WmiObject -Class Win32_BaseBoard | Select-Object Manufacturer, Product, SerialNumber- Dell、Lenovo 等品牌机常在此填入真实序列号,可用于资产登记或设备绑定
-
Product字段即主板型号(如0J4WY8或X570 AORUS MASTER),非“系统型号”
查 CPU、内存与硬盘关键参数
不同硬件对应不同 WMI 类,组合使用可覆盖主要部件:
- CPU:
Get-WmiObject -Class Win32_Processor | Select-Object Name, MaxClockSpeed, NumberOfCores, NumberOfLogicalProcessors - 内存总量:
(Get-WmiObject -Class Win32_ComputerSystem).TotalPhysicalMemory / 1GB -as [int](单位 GB) - 硬盘固件版本:
Get-WmiObject -Class Win32_DiskDrive | Select-Object Model, FirmwareRevision, SerialNumber;注意FirmwareRevision即固件号(如ECRM101Q),升级前务必核对
远程查询与导出报告
支持跨机器批量获取,也方便存档比对:
- 查远程主机(需目标开启 WMI 远程权限且防火墙放行):
Get-WmiObject -Class Win32_BIOS -ComputerName "PC01" - 一键导出全部硬件固件信息到文本:
$bios = Get-WmiObject Win32_BIOS<br>$board = Get-WmiObject Win32_BaseBoard<br>$disk = Get-WmiObject Win32_DiskDrive<br>"BIOS: $($bios.SMBIOSBIOSVersion) $($bios.ReleaseDate)`nBoard: $($board.Product) $($board.SerialNumber)`nDisk: $($disk.Model) $($disk.FirmwareRevision)" | Out-File "hw-report-$(Get-Date -Format 'yyyyMMdd-HHmm').txt"











