Egy PC életében időnként elkerülhetetlenül újra kell telepítenünk a Windows operációs rendszert – ezzel sokszor magunkat kíméljük meg a bajtól, hiszen egyszerűbb egy friss OS-t beállítani a jól bevált programokkal, mint egy régi, rosszul működőt foltozni. Azonban a Windows újratelepítése már ott problémákba ütközhet, amikor rájövünk: fogalmunk sincs, hogy hol lehet a rendszer licenckulcsa.
Szerencsére a Registryben tárolva van, és bár nem könnyű megtalálni, egy apró trükk bevetésével a nyomára lehet akadni. Persze a folyamat nem annyira egyszerű, elvégre nem a Regedit alkalmazásban kell kikeresni az adott kulcsot: azt ha meg is találjuk, bináris formában van tárolva, ami a felhasználók számára nem túl közérthető. A Jegyzettömb és egy mellékelt script segítségével azonban érthető formában is kinyerhető a rendszerből (OEM PC-ken sajnos nem mindig működik).
Természetesen lehetne találgatni, hogy a Microsoft miért nem teszi jól látható helyre a licenckulcsot, főleg, mivel bizonyos segédprogramokkal is ki lehet azt olvasni. Ilyen például a NirSoft ProduKey alkalmazása, amely még telepítést sem igényel. Remek hír, hogy a program plusz funkciójának hála akár egy halott gép kiszerelt merevlemezéről is ki lehet olvasni a kulcsokat (az Office programcsomagét is), a forrás kiválasztásával. Ha az egyéb programok kulcsaira is szükség lenne, akkor pedig a reCALL nevű segédprogramot ajánlott bevetni.
Az alábbiakban bemutatjuk mindkét egyszerű és gyors módszer használatát.
1 – Szoftver nélkül: szükség van egy egyszerű VBscriptre. Ehhez első lépésben egy új szöveges dokumentumot kell létrehozni, mondjuk licenckulcs.txt néven, az Asztalon. Ezután a következő részre lesz szükség (az ide másolt szövegrészben a jobbra perjeleket balra perjelekre kell cserélni, technikai okokból):
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 = 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
2 – A másolás után a mentés másként lehetőséggel .vbs kiterjesztésűként el kell menteni a fájlt, és futtatni. Amennyiben minden terv szerint ment, a script kiírja a licenckulcsot, ami aktív ablakból CTRL + C-vel másolható.
3 – Alternatíva: szintén egyszerű módszer a ProduKey segédprogram futtatása. A telepítést sem igénylő alkalmazást csak el kell indítani, az pedig minden további teendő nélkül azonnal kiírja a kulcsokat.
4 – Amennyiben a licenceket egy nem működő PC kiszerelt merevlemezéről szeretnénk olvasni, akkor csatlakoztassuk a HDD-t a géphez, indítsuk el a ProduKeyt, majd a File, Select Source opción keresztül válasszuk ki a külső Windows-mappát, a harmadik pontot kijelölve.
Ti szoktátok valahová összegyűjteni a termékkulcsokat?