Astuce : retrouver les 25 caractères de votre clé Windows 10

Avec la dématérialisation des logiciels, il nous arrive parfois de perdre les codes. Le plus problématique peut être celui de la clé Windows en cas de réinstallation.

Avec la dématérialisation des logiciels, il nous arrive parfois de perdre les codes. Le plus problématique peut être celui de la clé Windows en cas de réinstallation.

Niveau & Prérequis

Niveau : débutant
Réalisation : 5 min
Temps de lecture : 5 min

PREAMBULE

Il vous faut une version de Windows 10 que vous avez préalablement achetée avec la clé.

UN PEU DE PROGRAMMATION

J’ai récemment retrouver un bout de programme codé en Javascript et que j’avais conservé et qui permettait de créer un fichier pour afficher la version de Windows 10, l’identification du produit et surtout la clé en 25 caractères qui est demandée lors d’une réinstallation.

Pas besoin d’être un expert en programmation :
1- Ouvrir le bloc-note Windows
2- Copier-coller le code ci-dessous
3-Enregistrer le fichier sous le nom GetProductKey.vbs

Vous trouverez en base de cet article le code que vous pouvez copier-coller dans le bloc-note.

Code Windows10


Ensuite “enregistrer sous” et nommer le fichier GetProductKey.vbs

Enregistrer

Une fois enregistrer, vous pouvez exécuter le fichier et vous verrez la fenêtre suivante :

GetProductKey

Si vous souhaitez enregistrer le informations sous la forme d’un fichier texte, vous cliquez sur “OUI” et un fichier nommé “WindowsKeyInfo.txt” sera enregistré directement sur votre bureau.

LE CODE

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 = "Product Name: " & objshell.RegRead(Path & "ProductName")
ProductID = "Product ID: " & objshell.RegRead(Path & "ProductID")
ProductKey = "Installed Key: " & ConvertToKey(DigitalID) 
ProductData = ProductName  & vbNewLine & ProductID  & vbNewLine & ProductKey
'Show messbox if save to a file 
If vbYes = MsgBox(ProductData  & vblf & vblf & "Save to a file?", vbYesNo + vbQuestion, "BackUp Windows Key Information") then
   Save ProductData 
End If
 
'Convert binary to chars
Function ConvertToKey(Key)
    Const KeyOffset = 52
    Dim isWin8, Maps, i, j, Current, KeyOutput, Last, keypart1, insert
    'Check if OS is Windows 8
    isWin8 = (Key(66) \ 6) And 1
    Key(66) = (Key(66) And &HF7) Or ((isWin8 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 (isWin8 = 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\WindowsKeyInfo.txt"
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set txt = fso.CreateTextFile(fName)
    txt.Writeline Data
    txt.Close
End Function

Si vous avez aimé, n'hésitez pas à vous abonner au blog et sa newsletter.
La parution est mensuelle.
De plus je m'engage à ne pas diffuser votre adresse e-mail.

Laisser un commentaire