Win7/Win8.1全新安装Win10工具 密钥一键查询备份

2016年7月29日,微软关闭Win7/Win8.1免费升级Win10的通道,本文发稿时间为关闭前一天,此时如果还有用户想升级Windows10但没有升级的,可以尝试使用本文方法进行全新安装。全新安装的好处就是不会产生新旧系统各种衔接不畅的问题,虽说现在升级安装Win10后的体验不像一年前那么差了,但这种本质性的差异是Windows系统升级安装的通病,很难避免。

Windows 产品密钥查询备份文件:网盘下载(2KB)

当然,免费激活这事可能还是直接升级的更保险,因为一般来说升级之前的系统都是激活好了的,虽然大家激活系统方式可谓“条条大路通罗马”吧,但微软一般也没计较什么,都给予了激活状态的Win10。不过使用全新安装再输入产品密钥的方式可能更适合正版用户,或者自己手中有合法密钥(至少密钥没被封禁)的用户。如果你能够确认手中的密钥没有问题,不妨尝试一下我们的方法。操作上很简单,只需要把如下代码使用记事本等保存为.vbs格式(文件名自拟),双击运行即可,适用于Win7/Win8.1/Win10系统。

▲图片说明:这幅图的意思并非企业版支持免费升级,而是说本文方法同样适用于企业版密钥查询和备份

代码如下:

Option Explicit

Dim objshell,path,DigitalID, Result

Set objshell = CreateObject("WScript.Shell")

'Set registry key path

Path = "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\"

'Registry key value

DigitalID = objshell.RegRead(Path & "DigitalProductId")

Dim ProductName,ProductID,ProductKey,ProductData

'Get ProductName, ProductID, ProductKey

ProductName = "系统名称:" & objshell.RegRead(Path & "ProductName")

ProductID = "产品ID:" & objshell.RegRead(Path & "ProductID")

ProductKey = "已安装密钥:" & ConvertToKey(DigitalID)

ProductData = ProductName & vbNewLine & ProductID & vbNewLine & ProductKey

'Show messbox if save to a file

If vbYes = MsgBox(ProductData & vblf & vblf & "要将密钥保存到文件吗?", vbYesNo + vbQuestion, "软媒魔方备份Windows密钥信息") then

Save ProductData

End If

'Convert binary to chars

Function ConvertToKey(Key)

Const KeyOffset = 52

Dim isWin10, Maps, i, j, Current, KeyOutput, Last, keypart1, insert

'Check if OS is Windows 10

isWin10 = (Key(66) \ 6) And 1

Key(66) = (Key(66) And &HF7) Or ((isWin10 And 2) * 4)

i = 24

Maps = "BCDFGHJKMPQRTVWXY2346789"

Do

Current= 0

j = 14

Do

Current = Current* 256

Current = Key(j + KeyOffset) + Current

Key(j + KeyOffset) = (Current \ 24)

Current=Current Mod 24

j = j -1

Loop While j >= 0

i = i -1

KeyOutput = Mid(Maps,Current+ 1, 1) & KeyOutput

Last = Current

Loop While i >= 0

If (isWin10 = 1) Then

keypart1 = Mid(KeyOutput, 2, Last)

insert = "N"

KeyOutput = Replace(KeyOutput, keypart1, keypart1 & insert, 2, 1, 0)

If Last = 0 Then KeyOutput = insert & KeyOutput

End If

ConvertToKey = Mid(KeyOutput, 1, 5) & "-" & Mid(KeyOutput, 6, 5) & "-" & Mid(KeyOutput, 11, 5) & "-" & Mid(KeyOutput, 16, 5) & "-" & Mid(KeyOutput, 21, 5)

End Function

'Save data to a file

Function Save(Data)

Dim fso, fName, txt,objshell,UserName

Set objshell = CreateObject("wscript.shell")

'Get current user name

UserName = objshell.ExpandEnvironmentStrings("%UserName%")

'Create a text file on desktop

fName = "C:\Users\" & UserName & "\Desktop\Windows密钥备份.txt"

Set fso = CreateObject("Scripting.FileSystemObject")

Set txt = fso.CreateTextFile(fName)

txt.Writeline Data

txt.Close

End Function

▲图片说明:代码粘贴到记事本后,另存为.vbs格式

▲图片说明:运行效果,备份密钥会以文本文件(.txt)的形式保存到桌面

▲图片说明:保存密钥文件的内容

当然,自己手动新建文件,复制和粘贴代码再保存怪麻烦的,所以各位直接在上方下载现成的文件就省心了,下来之后直接运行。

(0)

相关推荐

  • Win7/Win8.1免费升级Win10正式版常见问题汇总解答

    今天,微软宣布Windows 10正式版将于7月29日发布,届时正版Win7和Win8.1用户可免费升级到Win10。与此同时,微软官网也迎来了改版,并回答了一些Windows 10免费升级相关的问题 ...

  • 怎么用U盘全新安装win10系统

    符合条件的win7或win8.1都可以免费升级到win10系统,不过有部分用户无法通过在线升级,那么这个时候就可以通过U盘引导的方式来全新安装win10,下面小编就跟大家带来使用U盘安装ghost w ...

  • win8/8.1安装win10双系统教程

    WIn10目前还有不少软件存在兼容问题,因此不大建议大家直接升级或者重装Win10系统,这里建议大家安装Win8.1和Win10双系统,既可以体验Win10,又不影响原来的Win8/8.1系统使用.废 ...

  • win7/win8.1免费升级win10过后还要每年付费吗

    想必大家都知道win10升级策略:即在win10正式发布后的第一年内会向win7/win8.1用户提供免费升级,一年免费期过后则会提供付费升级方式. 那么win7/win8.1免费升级win10过后还 ...

  • Win10系统重置和U盘全新安装Win10系统的区别是什么?

    不过很多朋友还是不清楚Win10系统重置和U盘全新安装Win10系统的区别,哪个好,下面我们一起来分析下,判断下利弊,当然具体选择权还是在用户自己手中. 一.Win10系统重置 优势: 重置功能相当于 ...

  • Win7/Win8.1免费升级Win10常见问题汇总

    Win7/Win8.1免费升级Win10常见问题汇总

  • 一种比较简单快速的硬盘全新安装Win10单双系统的方法

    Win10预览版9879发布不久,不过对于期待了许多的用户们来说,还是觉得有点慢,不过还好总算是出来了。在迫不及待的下载好了Win10预览版9879后,该如何进行安装呢?通过镜像ISO文件安装Win1 ...

  • win8.1怎么升级win10 win8.1升级安装win10图文步骤

    win8.1升级win10教程来咯~下文将演示win8.1安装升级win10步骤。有的朋友现在使用的是Windows8.1系统,那么该如何升级至Windows10呢?请参考下文步骤吧。 第一步、下载W ...

  • 如何让win7 win8系统自动下载win10安装包

    win10发布已经有一个多月了,有的人已经升级了,有朋友还停留在win7 win8.有人说,我想从win7 win8升级,但是,没有收到预订啊,今天,我们就来说下,如何让你的win7 win8系统自动 ...