需备份windows激活凭证时,应依次采用五种方法:一、用wmic命令提取bios/uefi中oem密钥;二、通过注册表读取backupproductkeydefault值;三、导出spp/store/2.0文件夹;四、绑定微软账户实现云端备份;五、运行vbscript解码digitalproductid获取可读密钥。

如果您需要在重装系统或更换硬件前保存当前 Windows 的激活凭证,则需从固件、注册表或云端账户中提取并安全存档密钥信息。以下是多种互为补充的备份方法:
一、使用 WMIC 命令提取 BIOS/UEFI 中嵌入的 OEM 密钥
该方法直接读取主板固件中写入的原始 25 位 OEM 产品密钥,适用于戴尔、联想、惠普等品牌预装机,不依赖当前激活状态,且无需第三方工具。
1、按 Win + X 组合键,选择“终端(管理员)”。
2、在管理员终端中输入以下命令并回车:wmic path SoftwareLicensingService get OA3xOriginalProductKey。
3、等待执行完成,屏幕上将显示一串格式为 XXXXX-XXXXX-XXXXX-XXXXX-XXXXX 的完整密钥。
4、手动复制该密钥,粘贴至记事本,另存为 OEM_Key_Backup.txt 并保存至加密U盘或离线硬盘。
二、通过 PowerShell 读取注册表中的 BackupProductKeyDefault 值
Windows 在首次激活过程中会将原始密钥以加密形式写入注册表指定路径,该值存在于 SoftwareProtectionPlatform 分支,适用于零售版及部分升级用户,内容可直接复制使用。
1、按 Win + R 打开“运行”对话框,输入 regedit 并回车,启动注册表编辑器。
2、在注册表编辑器地址栏中粘贴并跳转至:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform。
3、在右侧窗格中查找名为 BackupProductKeyDefault 的字符串值。
4、双击该项,在“数值数据”栏中复制完整密钥字符串,其格式为 XXXXX-XXXXX-XXXXX-XXXXX-XXXXX,并保存为 RegBackup_Key.txt。
三、导出 spp/store/2.0 激活数据文件夹实现离线状态备份
Windows 将数字许可证的硬件哈希、令牌及缓存数据存储于系统保护路径中,完整备份该文件夹可在重装后还原激活状态,无需联网或输入密钥。
1、打开文件资源管理器,在地址栏输入:C:\Windows\System32\spp\store\2.0 并按回车。
2、确认可见 cache 文件夹、data.dat(隐藏)、tokens.dat(隐藏)三个关键项。
3、全选上述三项,右键→“复制”,粘贴至外部硬盘或非系统分区(如 D:\Win11_Activation_Backup\2.0\)。
4、对目标文件夹右键→“属性”→勾选 只读 并应用,防止误删。
四、将数字许可证绑定至微软账户实现云端备份
该方法不提取明文密钥,而是将设备的数字许可证与您的微软账户关联,确保重装后在线验证即可自动激活,适用于 OEM 预装、免费升级及零售版数字许可证用户。
1、点击“开始”菜单,选择“设置”→“系统”→“激活”(Windows 11 23H2 及更新版本路径)。
2、确认页面显示 Windows 已激活(数字许可证),且下方注明“与您的微软账户相连”。
3、若未显示连接状态,点击“链接到 Microsoft 账户”,输入账户密码完成绑定。
4、访问 account.microsoft.com/devices,确认当前设备已列在“已授权设备”中。
五、运行 VBScript 脚本解码 DigitalProductId 提取可读密钥
DigitalProductId 是注册表中标准加密存储项,其值为 66 字节二进制数据,可通过 VBScript 脚本依据微软定义算法还原为人类可读的 25 位密钥格式,兼容 OEM、零售及批量授权版本。
1、用记事本新建一个文本文件,将以下完整脚本内容粘贴进去:
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 = Cur + Key(x + KeyOffset) Key(x + KeyOffset) = (Cur Mod 24) Cur = Cur \ 24 x = x - 1 Loop While x >= 0 i = i - 1 KeyOutput = Mid(Chars, Cur + 1, 1) & KeyOutput If (((i Mod 5) = 0) And (i 0)) Then KeyOutput = "-" & KeyOutput Loop While i >= 0 ConvertToKey = KeyOutput End Function
2、将文件保存为 GetKey.vbs(注意在保存类型中选择“所有文件”,避免自动添加 .txt 后缀)。
3、双击运行该脚本,弹出的消息框中即为解码后的完整 25 位密钥。
4、记录该密钥,并保存至本地加密文档,文件名建议标注为 Decoded_Key.txt。











