跳转到主要内容
HWID Checker
hwidwindowswmic教程

适用于 Windows 11 24H2 的 HWID .bat 替代方案

用 PowerShell CIM 查询或便携式 Windows 工具替代基于 wmic 的旧版 HWID 批处理命令,生成复合 SHA-256 硬件 ID。

HWID Checker · 2026年8月24日 · 3 分钟阅读

如果你用过运行 wmic diskdrive get serialnumberwmic cpu get serialnumberwmic bios get serialnumberwmic baseboard get serialnumberwmic csproduct get uuidhwidChecker.bat 脚本,它可能在全新的 Windows 11 安装上失败。wmic.exe 已被弃用,WMIC 功能按需特性在 Windows 11 24H2 上默认禁用。PowerShell CIM cmdlet 是受支持的替代方案。

本文解释了发生了什么变化,展示了受支持的 PowerShell 等效命令,并介绍了一个无需 wmic 即可生成复合报告的本地 Windows 工具。

.bat 脚本做了什么

这个脚本很简单,在旧版 Windows 上运行良好:

@ECHO OFF
wmic diskdrive get model, serialnumber
wmic cpu get serialnumber
wmic bios get serialnumber
wmic baseboard get serialnumber
wmic path win32_computersystemproduct get uuid
getmac

它尝试在不发起网络请求的情况下打印多个硬件相关值和一个 MAC 地址。它现在的主要局限是兼容性:脚本依赖于一个可能未安装的已弃用命令。

为什么会失效

wmic.exe(Windows Management Instrumentation 命令行)自 Windows 10 21H1 起已被弃用。在 Windows 11 24H2 上,WMIC 是一个默认禁用的可选功能按需特性。微软的迁移指南建议改用 PowerShell CIM cmdlet 或编程式 WMI API。

如果你在全新的 24H2 安装上运行该脚本,你会看到:

'wmic' is not recognized as an internal or external command,
operable program or batch file.

你仍然可以通过"可选功能"手动安装 wmic,但这只是权宜之计,而非修复——微软已声明它将在未来版本中被完全移除。

PowerShell 替代方案(无需下载)

如果你只想要与 .bat 脚本相同的输出,将每行 wmic 替换为等效的 PowerShell CIM cmdlet 即可。打开 PowerShell 并粘贴:

# 磁盘序列号(替代:wmic diskdrive get model, serialnumber)
Get-CimInstance Win32_DiskDrive | Select-Object Model, SerialNumber

# CPU(替代:wmic cpu get serialnumber)
Get-CimInstance Win32_Processor | Select-Object Name, ProcessorId

# BIOS 序列号(替代:wmic bios get serialnumber)
Get-CimInstance Win32_BIOS | Select-Object SerialNumber

# 主板序列号(替代:wmic baseboard get serialnumber)
Get-CimInstance Win32_BaseBoard | Select-Object SerialNumber

# SMBIOS UUID(替代:wmic csproduct get uuid)
Get-CimInstance Win32_ComputerSystemProduct | Select-Object UUID

# MAC 地址(替代:getmac)
Get-NetAdapter | Select-Object Name, MacAddress

这些命令在从 Windows 10 到 11 24H2 及更高版本的每个 Windows 版本上都能运行。它们在底层使用相同的 WMI 数据,只是通过现代 PowerShell API 而非已弃用的 wmic.exe 包装器。

将其保存为 .ps1 文件,如果你想要像旧 .bat 一样的一键脚本:

# hwid-checker.ps1 — hwidChecker.bat 的现代替代方案
Clear-Host
Write-Host "=== HWID Checker ===" -ForegroundColor Cyan
Write-Host ""
Write-Host "Disk drives:" -ForegroundColor Yellow
Get-CimInstance Win32_DiskDrive | Format-Table Model, SerialNumber -AutoSize
Write-Host "CPU:" -ForegroundColor Yellow
Get-CimInstance Win32_Processor | Format-Table Name, ProcessorId -AutoSize
Write-Host "BIOS:" -ForegroundColor Yellow
Get-CimInstance Win32_BIOS | Format-Table SerialNumber -AutoSize
Write-Host "Motherboard:" -ForegroundColor Yellow
Get-CimInstance Win32_BaseBoard | Format-Table SerialNumber -AutoSize
Write-Host "SMBIOS UUID:" -ForegroundColor Yellow
Get-CimInstance Win32_ComputerSystemProduct | Format-Table UUID -AutoSize
Write-Host "Network adapters:" -ForegroundColor Yellow
Get-NetAdapter | Format-Table Name, MacAddress -AutoSize
Write-Host ""
Write-Host "Press any key to exit..." -ForegroundColor Gray
$null = $Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown')

右键点击 .ps1 文件并选择使用 PowerShell 运行

.bat 脚本的另一个局限:没有哈希

即使 .bat 脚本还能用时,它也只打印原始序列号。如果有人向你要"你的 HWID",你仍然得自己想办法处理五个单独的值。大多数授权和反作弊系统会将多个序列号组合成单个哈希——.bat 脚本不会替你完成这一步。

一个能完成 .bat 所做一切(甚至更多)的免费工具

如果你想要与旧 .bat 相同的一键简便性——外加 SHA-256 哈希、导出到文件,且不依赖 wmic——请下载 Windows 版 HWID Checker。它是一个约 2.4 MB 的便携 .exe,无需安装。

# 双击 hwid-checker.exe — 与旧 .bat 相同,但:
# - 在 Windows 11 24H2 上运行(无需 wmic)
# - 读取 10+ 个标识符,而非仅 5 个
# - 将它们组合成单个 SHA-256 HWID
# - 使用 -save / -json 导出为 .txt 或 JSON

它读取而 .bat 脚本未读取的内容:

| 标识符 | .bat 脚本 | HWID Checker | | --- | --- | --- | | 磁盘序列号 | ✓ | ✓ | | BIOS 序列号 | ✓ | ✓ | | 主板序列号 | ✓ | ✓ | | SMBIOS UUID | ✓ | ✓ | | MAC 地址 | ✓(通过 getmac) | ✓ | | CPU ProcessorId | ✗(cpu get serialnumber 并非 ProcessorId) | ✓ | | Windows MachineGuid | ✗ | ✓ | | 卷序列号 | ✗ | ✓ | | 内存序列号 | ✗ | ✓ | | 机箱序列号 | ✗ | ✓ | | Windows 产品 ID | ✗ | ✓ | | SHA-256 组合哈希 | ✗ | ✓ | | 导出到文件 | ✗ | ✓ | | 无 wmic 依赖 | ✗ | ✓ |

该 Windows 工具是只读的:它查询本地标识符、打印结果,并仅在你请求导出时写入报告。

你应该使用哪个?

| 你的情况 | 推荐 | | --- | --- | | 你只是现在需要看一次序列号 | 上面的 PowerShell 单行命令——无需下载 | | 你需要 HWID 哈希(用于授权、支持等) | 下载工具——它会替你计算哈希 | | 你在 Windows 11 24H2 上且 .bat 失效了 | PowerShell 单行命令,或该工具 | | 你想要像旧 .bat 一样的可复用脚本 | 保存上面的 .ps1 脚本 | | 你需要导出或自动化 | 工具的 -json 参数 |

总结

hwidChecker.bat 方案依赖于一个已弃用的可选组件,该组件在 Windows 11 24H2 上默认禁用,而且示例脚本没有复合哈希或导出功能。使用上面的 PowerShell 命令获取单个值,或使用 Windows 工具获取本地报告以及 JSON 或文本导出。

想要在不下载任何东西的情况下验证别人发给你的 HWID 字符串?将其粘贴到我们的在线 HWID 检测器中——它完全在你的浏览器中运行。