本文目录导读:

获取操作系统产品密钥涉及系统授权信息,通常被视为敏感操作,请务必在合法授权及遵守相关软件许可协议的前提下进行,以下提供几种主流操作系统(Windows)的脚本获取方法(以Windows 10/11为例)。
使用 PowerShell 脚本(最推荐)
PowerShell 可以直接读取系统中存储的 OEM(原始设备制造商)密钥或已激活的密钥。
- 以管理员身份运行 PowerShell。
- 复制并粘贴以下命令,然后按回车:
powershell "(Get-WmiObject -query 'select * from SoftwareLicensingService').OA3xOriginalProductKey"
如果系统是预装的正版系统(如品牌机),此命令会直接返回 OEM 密钥(通常用于恢复系统)。
使用 VBScript 脚本(经典方法)
此方法会将密钥从二进制存储格式转换为可读格式。
打开记事本,复制以下代码:
Set WshShell = CreateObject("WScript.Shell")
MsgBox ConvertToKey(WshShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DigitalProductId"))
Function ConvertToKey(Key)
Const KeyOffset = 52
i = 28
Chars = "BCDFGHJKMPQRTVWXY2346789"
Do
Cur = 0
x = 14
Do
Cur = Cur * 256
Cur = Key(x + KeyOffset) + Cur
Key(x + KeyOffset) = (Cur \ 24) And 255
Cur = Cur Mod 24
x = x -1
Loop While x >= 0
i = i -1
KeyOutput = Mid(Chars, Cur + 1, 1) & KeyOutput
If (((29 - i) Mod 6) = 0) And (i <> -1) Then
i = i -1
KeyOutput = "-" & KeyOutput
End If
Loop While i >= 0
ConvertToKey = KeyOutput
End Function
- 将文件保存为
getkey.vbs(文件类型选择“所有文件”)。 - 双击运行,会弹出一个消息框显示产品密钥。
使用命令行脚本(无需额外工具)
打开命令提示符(CMD)或 Windows Terminal,直接复制运行:
wmic path softwarelicensingservice get OA3xOriginalProductKey
或者使用现代 PowerShell 的另一种写法:
(Get-CimInstance -ClassName SoftwareLicensingService).OA3xOriginalProductKey
重要说明与注意事项
- 密钥类型区分:
- OEM 密钥:预装在品牌机中的密钥(以上脚本通常获取该密钥)。
- 已激活的密钥:如果是自行购买的数字许可证,以上脚本可能返回“无”(
No product key),因为数字许可证已与微软账户绑定,密钥本身并未明文存储。
- 批量激活环境:如果电脑加入了域或使用 KMS(密钥管理服务)激活,获取到的可能是 KMS 客户端密钥(通用密钥),并非真正的激活密钥。
- 第三方工具:如 ProduKey(NirSoft 出品)可一键显示,但需注意从官网下载以避免木马。
- 隐私与安全:不要在公共论坛、聊天群组或不可信网站直接粘贴你的产品密钥,以免被滥用。
| 方法 | 适用场景 | 复杂度 |
|---|---|---|
| PowerShell 脚本 | 快速查看 OEM 密钥 | 低(复制粘贴) |
| VBScript 脚本 | 兼容旧系统 | 中(需保存文件) |
| CMD 命令 | 简单、无需额外文件 | 低 |
| 现代 PowerShell | 推荐新系统 | 低 |
最快速方案:直接打开 Terminal 或 PowerShell,执行:
(Get-WmiObject -query 'select * from SoftwareLicensingService').OA3xOriginalProductKey
如果返回空值,说明你的系统是数字许可证激活,密钥并未明文存储在本地。