Microsoft Product Key Recovery.

We lost our product key for ISA 2006, so after some internet browsing i found the script below. Just point it to the DigitalProductID value in your registry for the Microsoft product that you need the installation key for.

Original Link

Rem lookup digital product id from registry
Set WshShell = WScript.CreateObject("WScript.Shell")
HexBuf = WshShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DigitalProductId")
For l = lBound(HexBuf) to uBound(HexBuf)
tmp=tmp & " "& Hex (HexBuf(l))
next

WshShell.Popup  "Found Digital Product Id in registry:-" &  _
"                                                                                                                    " &  _
"                                                                                                                    " &  _
"                                                                                                                    " & tmp
StartOffset = 52
EndOffset =67
Dim Digits (24)

Digits (0) = "B" : Digits (1) = "C": Digits (2) = "D": Digits (3) = "F":
Digits (4) = "G": Digits (5) = "H": Digits (6) = "J": Digits (7) = "K":
Digits (8) = "M": Digits (9) = "P": Digits (10) = "Q": Digits (11) = "R":
Digits (12) = "T": Digits (13) = "V": Digits (14) = "W": Digits (15) = "X":
Digits (16) = "Y": Digits (17) = "2": Digits (18) = "3": Digits (19) = "4":
Digits (20) = "6" : Digits (21) = "7" : Digits (22) = "8": Digits (23) = "9"

dLen = 29
sLen = 15
Dim HexDigitalPID (15)
Dim Des (30)
For i = StartOffset to EndOffset
HexDigitalPID (i-StartOffset) = HexBuf(i)
tmp2=tmp2 & " "& Hex (HexDigitalPID(i-StartOffset))
next
WshShell.Popup  "Found Digital Product Id in registry:-" &  _
"                                                                                                                    " &  _
"                                                                                                                    " &  _
"                                                                                                                    " & tmp & _
"                                                                                                                  " & _
"                                                                                                                  " & _
"                                                                                                                  " & _
"                                        " & _
"Located the sequence in the digital product ID. Can you see it in the one above (Tip:- 2nd line, 8 in from the left) :- " & _
"                                                                                                                  " &  _
"                                                                                                                  " & tmp2
KEYSTRING =""
for i=dLen-1 to 0 step -1
if ((i + 1) mod 6) = 0 then
Des (i) = "-"
KEYSTRING =KEYSTRING & "-"
else
HN = 0
   For N = (sLen -1) to 0 step -1
     Value = ( (HN *2^8 ) Or HexDigitalPID (N))
      HexDigitalPID (N) = Value \ 24
      HN    = (Value mod 24)

   next

Des(i) = Digits(HN)
KEYSTRING =KEYSTRING & Digits(HN)
end if
next
KEYSTRING2 = StrReverse (KEYSTRING)
WScript.Echo "Having finished messing about performing mathmatical stuff" & _
" on your Product ID i have come to the conclusion your XP Key is:- " & _
"                                         " & KEYSTRING2