Skip to content
Korben, roi d’internet, logo bébé avec des lunettes en mode thug life

Petit script pour récupérer à distance la clé d’un Windows

J’avais bossé sur une fonctionnalité similaire pour RockXP. Malheureusement, je n’ai jamais été jusqu’au bout…Enfin, si il y a des admins réseaux (ou des affreux hackers) ici , je pense que que ça pourra vous servir. Ce petit script en VBS permet de récupérer le N° de licence d’un Windows à distance, c’est à dire simplement en entrant le nom de la machine distante (sur votre réseau local).

Pour l’utiliser, vous enregistrez ça dans un fichier texte (.txt) que vous renommez ensuite .vbs

Ensuite vous le lancez en double cliquant 2 fois dessus et c’est tout…

' Trouver la clé d'activation d'un Windows à distance
' www.korben.info
If Wscript.Arguments.Count = 0 Then
    strComputer = inputbox("Entrez le nom de l ordinateur dont vous voulez la clé","Nom de l ordinateur")
    if strComputer = "" then wscript.quit
Else
    strCOmputer = Wscript.Arguments.Item(0) 
End If 
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" 
Dim HexBuf (100), HexDigitalPID (15)
Set objReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\" & strComputer & "rootdefault:StdRegProv") 
objReg.GetBinaryValue &H80000002, "SOFTWAREMicrosoftWindows NTCurrentVersion", "DigitalProductId", HexBuf 
StartOffset = 52 : EndOffset =67
For i = StartOffset to EndOffset
  HexDigitalPID (i-StartOffset) = HexBuf(i)
next 
' Convertit la clé produit codée en clé d activation
dLen = 29 : sLen = 15
KEYSTRING =""
for i=dLen-1 to 0 step -1
  if ((i + 1) mod 6) = 0 then
    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
    KEYSTRING = KEYSTRING & Digits(HN)
  end if
next
KEYSTRING2 = StrReverse (KEYSTRING)
WScript.Echo KEYSTRING2

Créez votre compte gratuit Azure dès aujourd’hui

Qu’est-ce que j’obtiens ?
Avec votre compte gratuit Azure, vous bénéficiez de tous ces éléments et vous n’êtes facturé que si vous effectuez une mise à niveau.

  • 12 mois de services gratuits populaires
  • Crédit de 170 €, pour explorer Azure pendant 30 jours
  • Toujours gratuits: Plus de 25 services

Créez des applications évolutives et des fonctionnalités de mise en œuvre plus rapidement
Créez des charges de travail qui adaptent leur échelle en fonction de la demande. De plus, fournissez des logiciels plus rapidement et de façon fiable grâce à des solutions de DevOps de bout en bout.

Lancez-vous avec 12 mois de services gratuits


Les articles du moment