On July 292016 Microsoft closed the channel for Win7/Win8.1 free upgrade to Win10. This article was published the day before the closure At this time if there are users who want to upgrade Windows 10 but did not upgrade you can try to use the method in this article for a fresh installation. The advantage of the new installation is that it will not cause various problems of poor connection between the new and the old systems. Although the experience after upgrading and installing Win10 is not as bad as a year ago this essential difference is a common problem of the Windows system upgrade and installation. It is difficult to avoid.
Windows product key query backup file: download from the network disk (2KB)
Of course free activation may be a direct upgrade It’s safer because in general the system is activated before the upgrade. Although everyone activates the system in a way that 'all roads lead to Rome' Microsoft generally doesn’t care about anything and has been activated. Win10. However the method of using a new installation and then entering the product key may be more suitable for genuine users or users who have a legal key in their hands (at least the key is not blocked). If you can confirm that there is no problem with the key in your hand you may wish to try the script home method. The operation is very simple just save the following code using Notepad etc. as .vbs format (file name is self-designed) double-click to run suitable for Win7/Win8.1/Win10 system.
▲Picture description: The meaning of this picture is not that the enterprise version supports free upgrades but that the method in this article is also applicable to the enterprise version Key query and backup
The code is as follows:
Option Explicit
Dim objshellpathDigitalID Result
Set objshell = CreateObject (\u0026quot;WScript.Shell\u0026quot;)
'Set registry key path
Path = \u0026quot;HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\\u0026quot;
'Registry key value
DigitalID = objshell.RegRead(Path \u0026amp; \u0026quot;DigitalProductId\u0026quot;)
Dim ProductNameProductIDProductKeyProductData
'Get ProductName ProductID ProductKey
ProductName = \u0026quot;System Name:\u0026quot; \u0026amp; objshell.RegRead(Path \u0026amp; \u0026quot;ProductName\u0026quot;)
ProductID = \u0026quot;Product ID:\u0026quot ; \u0026amp; objshell.RegRead(Path \u0026amp; \u0026quot;ProductID\u0026quot;)
ProductKey = \u0026quot;Installed key:\u0026quot; \u0026amp; ConvertToKey(DigitalID)
ProductData = ProductName \u0026amp ; vbNewLine \u0026amp; ProductID \u0026amp; vbNewLine \u0026amp; ProductKey
'Show messbox if save to a file
If vbYes = MsgBox(ProductData \u0026amp; vblf \u0026amp; vb lf \u0026amp; \u0026quot;Do you want to save the key to a file? \u0026quot; vbYesNo + vbQuestion \u0026quot;soft media cube backup Windows key information\u0026quot;) 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 < /p>
'Check if OS is Windows 10
isWin10 = (Key(66) \\ 6) And 1
Key(66) = (Key(66) And \u0026amp;HF7) Or ((isWin10 And 2) * 4)
i = 24
Maps = \u0026quot;BCDFGHJKMPQRTVWXY2346789\u0026quot;
Do
< p>Current = 0j = 14
Do
Current = Current* 256
Current = Key(j + KeyOffset) + Current
Key(j + KeyOffset) = (Current \\ 24)
Current=Current Mod 24
j = j -1
< p>Loop While j \u0026gt;= 0i = i -1
KeyOutput = Mid(MapsCurrent+ 1 1) \u0026amp; KeyOutput
Last = Current
Loop While i \u0026gt;= 0
If (isWin10 = 1) Then
keypart1 = Mid(KeyOutput2 Last)
insert = \u0026quot;N\u0026quot;
KeyOutput = Replace(KeyOutput keypart1 keypart 1 \u0026amp; insert21 0)
If Last = 0 Then KeyOutput = insert \u0026amp; KeyOutput
End If
ConvertToKey = Mid(KeyOutput 1 5) \u0026amp; \u0026quot;-\u0026quot; \u0026amp; Mid(KeyOutput6 5) \u0026amp; \u0026quot;-\u0026quot; \u0026amp; Mid(KeyOutput11 5) \u0026amp; \u0026quot;-\u0026quot; \u0026amp; Mid( KeyOutput16 5) \u0026amp; \u0026quot;-\u0026quot; \u0026amp; Mid(KeyOutput21 5)
End Function
'Save data to a file
< p>Function Save(Data)Dim fso fName txtobjshellUserName
Set objshell = CreateObject(\u0026quot;wscript.shell\u0026quot;)
'Get current user name
UserName = objshell.ExpandEnvironmentStrings(\u0026quot;%UserName%\u0026quot;)
'Create a text file on desktop
fName = \u0026quot ;C:\\Users\\\u0026quot; \u0026amp; UserName \u0026amp; \u0026quot;\\Desktop\\Windows key backup.txt\u0026quot;
Set fso = CreateObject(\u0026quot;Scripting.FileSystemObject\u0026quot;)
Set txt = fso.CreateTextFile(fName)
txt.Writeline Data
txt.Close
End Function
▲Picture description: After the code is pasted into Notepad save it as .vbs format < /p>
▲Picture description: running effect the backup key will be saved to the desktop in the form of a text file (.txt)
▲Picture description: save the content of the key file
Of course create a new file manually copy and paste the code and save It's troublesome so you can download the ready-made files directly on the top to save worry and run them directly after you get down.
?Encyclopedia of win8.1 shutdown methods win+X is also related to machine entrance-computer knowledge network