Flash info

"Les IT Pros sont en train de migrer rapidement car PowerShell est plus facile et plus puissant que VBScript."

Microsoft Scripting Guys

 
Accueil arrow Bibliothèque de scripts arrow Système arrow Retrouver la clé produit de Windows
Retrouver la clé produit de Windows
Écrit par Arnaud Petitjean [MVP]   
09-02-2009
xpprokey281x152.jpg 

Si vous avez perdu la clé produit de votre système ou si vous souhaitez simplement faire l'inventaire de toutes vos licences sur votre parc de machines Windows, alors vous serez heureux de découvrir ce script.

Ce script est issu d'une discussion du forum (voir le fil original). Si vous souhaitez des explications sur l'algorithme employé, alors rendez-vous chez JC Bellamy.

 

 

##########################################################
#
# Get-ProductKey.ps1
#     Description : récupère la clé produit de Windows
#
#    http://www.powershell-scripting.com/
#    La communauté PowerShell francophone
#
# Usage : PS > ./Get-ProductKey.ps1
##########################################################

# Création de la table de conversion base 24
$map="BCDFGHJKMPQRTVWXY2346789"

# Lecture de la clé de registre
$value = (get-itemproperty "HKLM:\\SOFTWARE\Microsoft\Windows NT\CurrentVersion").digitalproductid[0x34..0x42]

# Conversion des valeurs en Hexa pour afficher le Raw Key $hexa = ""
$value | foreach {
  $hexa = $_.ToString("X2") + $hexa
}
Write-Output "Raw Key Big Endian: $hexa"

# Calcul du Product Key
$ProductKey = ""
for ($i = 24; $i -ge 0; $i--) {
  $r = 0
  for ($j = 14; $j -ge 0; $j--) {
    $r = ($r * 256) -bxor $value[$j]
    $value[$j] = [math]::Floor([double]($r/24))
    $r = $r % 24
  }
  $ProductKey = $map[$r] + $ProductKey
  if (($i % 5) -eq 0 -and $i -ne 0) {
    $ProductKey = "-" + $ProductKey
  }
}
Write-Output "Product Key: $ProductKey"

Exemple d'utilisation :

PS > ./Get-ProductKey
Raw Key Big Endian: 04ED741D7F2BAC8E4E317B4A728585
Product Key: 4GPTT-6RYC4-F4GJK-KG77H-G3TT2

Dernière mise à jour : ( 26-06-2009 )
 
© 2019 PowerShell-Scripting.com