Tutto parte da un vecchio articolo di HowToGeek (howtogeek.com/206329/how-to-find-your-lost-windows-or-office-product-keys) e dalla necessità di salvare rapidamente il seriale di un Windows 7 che da lì a poco sarebbe stato cancellato dal disco (formattazione completa) e reinstallato in seguito, pulito. Non volevo scaricare software di terze parti e non avevo nulla a disposizione su quella macchina.
Ho quindi preferito percorrere la via dello script VBScript, con una leggera modifica al codice per permettere il salvataggio del Product Key su file di testo, facilmente memorizzabile su chiave USB e riutilizzabile in seguito (copia & incolla) così da poter essere inserito in Windows, giusto in tempo per l’attivazione via internet.
Il codice è stato quindi ereditato dall’articolo di cui vi parlavo sopra, modificato dal sottoscritto, e reso nuovamente disponibile per voi tutti, qui di seguito:
' Microsoft Windows 7 Product Key Grabber ' Testata su conf. Windows 7 x86 e x64 Sp1 ' GSolone 2015 v 0.1 - ultima modifica 03122015 ' Fonte originale: http://www.howtogeek.com/206329/how-to-find-your-lost-windows-or-office-product-keys/ Set WshShell = CreateObject("WScript.Shell") Set objFSO=CreateObject("Scripting.FileSystemObject") ProduKey = ConvertToKey(WshShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DigitalProductId")) ' Salvataggio Product Key sul Desktop dell'utente UserProfile = CreateObject("WScript.Shell").ExpandEnvironmentStrings("%UserProfile%") Set objFile = objFSO.CreateTextFile(UserProfile & "\Desktop\Win7ProduKey.txt") objFile.Write "Windows Product Key" & vbCrLf & ProduKey objFile.Close ' Verifica a video del Product Key (conferma salvataggio su file di testo) MsgBox "Ho salvato il Product Key sul tuo Desktop: " & UserProfile & "\Desktop\Win7ProduKey.txt" & vbCrLf & "Product Key (conferma a video): " & ProduKey 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
Una volta lanciato, questo mostrerà a video un messaggio di conferma dell’operazione (salvo problemi): avrà nel frattempo salvato su un file di testo il codice del vostro sistema operativo, direttamente sul vostro Desktop (Win7ProduKey.txt). Il tutto è stato testato con successo su configurazione Windows 7 Professional, Sp1, a 64 bit. Non dovrebbero esserci problemi a far girare lo stesso script anche su altre configurazioni di Windows 7 (anche perché basa la sua esportazione sul registro di sistema), non serve farlo girare come amministratore della macchina.
Se non volete “fare della fatica“, potete anche scaricarlo direttamente da bit.ly/Windows7ProductKey.
Buon lavoro!
L'articolo potrebbe non essere aggiornato
Questo post è stato scritto più di 5 mesi fa, potrebbe non essere aggiornato. Per qualsiasi dubbio ti invito a lasciare un commento per chiedere ulteriori informazioni! :-)