跳转到主要内容
HWID Checker

如何在 Windows 11/10 的 CMD 中检查 HWID(无需 WMIC)

使用可直接粘贴进 CMD 的命令检查 MachineGuid、SMBIOS UUID、BIOS、主板、硬盘和 MAC 标识符,无需 WMIC。

HWID Checker · 2026年9月21日 · 3 分钟阅读

如果你想在 CMD 中检查 HWID,首先要知道:Windows 并没有保存一个名为“HWID”的通用值。游戏可能使用固件 UUID,许可软件可能组合多个序列号,IT 系统可能使用安装标识符。因此应该查询对方真正需要的字段,而不是寻找一条“万能命令”。

本文所有命令都可以直接粘贴进 Windows 11 或 10 的命令提示符(cmd.exe)。需要 PowerShell 的命令已经使用 powershell -NoProfile -Command 包装,因此不会再遇到常见错误:

'Get-CimInstance' 不是内部或外部命令,也不是可运行的程序或批处理文件。

所有操作都是只读查询,不会修改、随机化或伪装任何标识符。

快速答案:主要 CMD 查询命令

标识符直接粘贴进 CMD它实际标识什么
MachineGuidreg query "HKLM\SOFTWARE\Microsoft\Cryptography" /v MachineGuid当前 Windows 安装,不是实体硬件
SMBIOS 系统 UUIDpowershell -NoProfile -Command "(Get-CimInstance Win32_ComputerSystemProduct).UUID"固件或虚拟机平台提供的系统 UUID
BIOS 序列号powershell -NoProfile -Command "(Get-CimInstance Win32_BIOS).SerialNumber"OEM 固件记录
主板序列号powershell -NoProfile -Command "(Get-CimInstance Win32_BaseBoard).SerialNumber"SMBIOS/WMI 暴露的主板记录
物理硬盘型号与序列号powershell -NoProfile -Command "Get-CimInstance Win32_DiskDrive | Select-Object Model, SerialNumber | Format-Table -AutoSize"Windows 存储栈报告的设备信息
CPU 与 ProcessorIdpowershell -NoProfile -Command "Get-CimInstance Win32_Processor | Select-Object Name, ProcessorId | Format-Table -AutoSize"CPU 型号和处理器签名/功能信息
网卡 MAC 地址getmac /vWindows 当前报告的网络适配器地址
C: 卷序列号vol C:文件系统元数据,不是物理硬盘序列号

如果对方只需要一个字段,不要发送整份报告。先确认字段名和格式。

正确打开命令提示符

  1. 按 Win + R。
  2. 输入 cmd。
  3. 按回车。
  4. 粘贴本文中的一条命令。
  5. 再按回车执行。

CMD 提示符通常类似:

C:\Users\YourName>

Windows Terminal 只是承载终端的窗口,其中可以运行“命令提示符”或 PowerShell 标签页。本文给出的完整命令即使内部调用 PowerShell,也能从 CMD 启动。普通本地只读查询通常不需要管理员权限,但学校或企业策略仍可能限制访问。

在 CMD 中检查 MachineGuid

reg query "HKLM\SOFTWARE\Microsoft\Cryptography" /v MachineGuid

reg query 只读取注册表值,不会修改注册表。MachineGuid 标识一套 Windows 安装,不是主板 UUID、BIOS 或硬盘序列号。重新安装、系统镜像和克隆可能影响它;部分应用会使用,另一些不会。

在 CMD 中检查 SMBIOS UUID

powershell -NoProfile -Command "(Get-CimInstance Win32_ComputerSystemProduct).UUID"

Get-CimInstance 是 PowerShell cmdlet,完整命令会从 CMD 内部启动 PowerShell。微软将该 UUID 文档化为来自 SMBIOS 的只读值。

以下结果不能当作可靠唯一身份:

  • 00000000-0000-0000-0000-000000000000;
  • FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF;
  • 重复的 OEM 默认值;
  • 虚拟机 UUID,而不是物理宿主机 UUID;
  • 空白值。

BIOS 和主板序列号

powershell -NoProfile -Command "(Get-CimInstance Win32_BIOS).SerialNumber"
powershell -NoProfile -Command "(Get-CimInstance Win32_BaseBoard).SerialNumber"

它们来自不同的 Windows 管理类,但 OEM 可能在两个字段中写入同一个整机服务标识,因此相同结果不一定是程序重复读取。空白、Default string、To Be Filled By O.E.M. 或带斜杠的 OEM 字符串也可能出现,并不直接表示主板故障。

在 CMD 中检查物理硬盘信息

powershell -NoProfile -Command "Get-CimInstance Win32_DiskDrive | Select-Object Model, SerialNumber | Format-Table -AutoSize"

一定要将硬盘型号和序列号一起保存。显示形式取决于硬盘、控制器、USB 桥接器、驱动程序和虚拟化层。下划线、句点或前导零不代表序列号无效。例如:

0000_0000_0000_0000_8CE3_8E10_01A6_D7CE.

仍包含非零信息,不是全零占位符。

vol C: 不是物理硬盘序列号

vol C:

它返回文件系统中的卷序列号,格式化或重建卷可能改变它。它不是 Win32_DiskDrive 报告的 SSD/HDD 序列号。

在 CMD 中检查 CPU 信息

powershell -NoProfile -Command "Get-CimInstance Win32_Processor | Select-Object Name, ProcessorId | Format-Table -AutoSize"

Name 是系统报告的 CPU 型号。ProcessorId 不是每颗芯片唯一的序列号,类似处理器可能返回相同值;全零值是占位符。虚拟机可能显示虚拟 CPU 名称。若只想查看 CPU 型号,请阅读怎么查看自己电脑的 CPU。

使用 CMD 原生命令检查 MAC

getmac /v

结果可能同时包含物理网卡、VPN、Hyper-V、隧道和其他虚拟适配器。Wi-Fi 隐私功能还可能呈现私有 MAC。MAC 标识的是网络接口,不是整台电脑。

为什么 Windows 11 中的 WMIC 命令会失败

旧教程经常使用:

wmic csproduct get uuid
wmic bios get serialnumber
wmic baseboard get serialnumber
wmic diskdrive get model,serialnumber

微软从 Windows 10 21H1 开始弃用 WMIC。自 2026 年 8 月起,Windows 11 24H2 和 25H2 已不再包含 WMIC,也不能通过 Feature on Demand 重新添加。底层 WMI 仍受支持。因此本文从 CMD 调用 PowerShell CIM,而不是要求重新安装 WMIC。详见 Windows 11 中 WMIC UUID 命令无法运行。

为什么 CMD 不认识 Get-CimInstance

下面这条属于 PowerShell,直接粘贴进 CMD 会失败:

Get-CimInstance Win32_ComputerSystemProduct

在 CMD 中应使用:

powershell -NoProfile -Command "(Get-CimInstance Win32_ComputerSystemProduct).UUID"

或者按 Win + R,输入 powershell 打开 PowerShell,再执行内部表达式。

空白、通用值和虚拟环境

Windows 只能显示固件、驱动和当前运行环境提供的数据。零售主板、板载内存、更换后的主板以及部分 OEM 不一定提供有效序列号。

以下名称通常表示虚拟设备:

StratoVirt
Red Hat VirtIO SCSI Disk Device
Red Hat VirtIO Ethernet Adapter
QEMU
VMware
VirtualBox

这时查询的是 Windows 客户机。UUID、虚拟硬盘和虚拟 MAC 可能属于虚拟机,而不是面前的物理笔记本或服务器。学校或企业设备也可能通过策略禁止 PowerShell/WMI;不要为了绕过策略而关闭安全防护。

是否存在一条输出“我的 HWID”的命令?

不存在。厂商可能组合 SMBIOS UUID、安装值、主板、硬盘、TPM、应用令牌和服务端设备记录。某个诊断工具生成的哈希不会自动成为游戏使用的 HWID。

如需逐项了解每种序列号、正常输出和变化条件,请阅读完整 HWID 序列号命令参考。本文专注于能从 CMD 启动的命令和常见执行错误。

一次运行全部检查

Windows 下载页提供:

  • 便携 EXE:显示进度、字段状态、设备上下文,支持文本和结构化 JSON;
  • 可读 BAT:使用 Windows PowerShell CIM,标记缺失和占位值,并在结束时暂停。

EXE 的带版本 SHA-256 值只是比较本工具报告的摘要,不是通用或永久稳定的厂商 HWID。BAT 不生成摘要。

隐私建议

硬件与安装标识符在关联账号、员工或个人后可能成为个人数据。只分享对方要求的字段,遮挡无关序列号、MachineGuid 和 MAC,不要在公共论坛发布完整报告。本文命令均在本地运行,不会上传输出。

常见问题

检查 HWID 最好的 CMD 命令是什么?

如果需要固件系统 UUID:

powershell -NoProfile -Command "(Get-CimInstance Win32_ComputerSystemProduct).UUID"

MachineGuid、硬盘、主板或 BIOS 应使用上方对应命令。

这些命令会改变 HWID 吗?

不会,全部是只读查询。

需要管理员权限吗?

普通本地查询通常不需要,但组织策略或特定设备提供程序可能限制访问。

恢复出厂设置会改变这些值吗?

固件和实体部件序列号通常保持不变,安装级或应用级状态可能变化。参阅恢复出厂设置会改变 HWID 吗。

主要技术资料

可靠的方法是先确定真正需要的字段,再运行 CMD 原生命令或经过 CMD 包装的 PowerShell CIM 查询。Windows 并不存在一个通用 HWID。