Product Key von Office per PowerShell auslesen

Es ist nicht einfach, an den Product Key von Office zu kommen. Erst recht, wenn man auf Drittanbieter-Programme verzichten möchte und man sich der Tatsache stellen muss, dass man per Eingabeaufforderung (cmd) nichts erreichen kann. Stattdessen mĂŒssen wir uns der neuen PowerShell bedienen.

FĂŒr den Auslesevorgang muss zunĂ€chst der normale Editor geöffnet werden. Diesen findest du ganz einfach per Suchfunktion von Windows. Kopiere folgenden Quellcode in das Editor-Fenster:

function Get-MSOfficeProductKey {
param(
[string[]]$computerName = "."
)
$product = @()
$hklm = 2147483650
$path = "SOFTWARE\Microsoft\Office"
foreach ($computer in $computerName) {
$wmi = [WMIClass]"\\$computer\root\default:stdRegProv"
$subkeys1 = $wmi.EnumKey($hklm,$path)
foreach ($subkey1 in $subkeys1.snames) {
$subkeys2 = $wmi.EnumKey($hklm,"$path\$subkey1")
foreach ($subkey2 in $subkeys2.snames) {
$subkeys3 = $wmi.EnumKey($hklm,"$path\$subkey1\$subkey2")
foreach ($subkey3 in $subkeys3.snames) {
$subkeys4 = $wmi.EnumValues($hklm,"$path\$subkey1\$subkey2\$subkey3")
foreach ($subkey4 in $subkeys4.snames) {
if ($subkey4 -eq "digitalproductid") {
$temp = "" | select ComputerName,ProductName,ProductKey
$temp.ComputerName = $computer
$productName = $wmi.GetStringValue($hklm,"$path\$subkey1\$subkey2\$subkey3","productname")
$temp.ProductName = $productName.sValue
$data = $wmi.GetBinaryValue($hklm,"$path\$subkey1\$subkey2\$subkey3","digitalproductid")
$valueData = ($data.uValue)[52..66]
# decrypt base24 encoded binary data
$productKey = ""
$chars = "BCDFGHJKMPQRTVWXY2346789"
for ($i = 24; $i -ge 0; $i--) {
$r = 0
for ($j = 14; $j -ge 0; $j--) {
$r = ($r * 256) -bxor $valueData[$j]
$valueData[$j] = [math]::Truncate($r / 24)
$r = $r % 24
}
$productKey = $chars[$r] + $productKey
if (($i % 5) -eq 0 -and $i -ne 0) {
$productKey = "-" + $productKey
}
}
$temp.ProductKey = $productKey
$product += $temp
}
}
}
}
}
}
$product
}

Nun muss die Datei als office.ps1 auf dem Desktop gespeichert werden. Kleiner Tipp: Setze den Dateinamen im Speicherndialog in AnfĂŒhrungszeichen, also „office.ps1“. Dadurch wird kein ungewolltes .txt mit angehĂ€ngt.

Als nĂ€chstes brauchst du die Bit-Version von deinem Office. Sollte diese dir nicht bekannt sein, dann öffne z.B. Word, klicke oben links auf Datei, danach auf Konto und anschließend auf Info ĂŒber Word (bei Office 2013). Dieser Pfad kann je nach Office-Version abweichen. Im erscheinenden Fenster sollte im oberen Teil ersichtlich sein, ob es sich um ein 32-Bit oder ein 64-Bit Office handelt.

Suche anschließend mit der Suchfunktion von Windows nach powershell. Bei einem 64-Bit Office klickst du mit der rechten Maustaste auf den Eintrag Windows PowerShell und wĂ€hlst Als Administrator ausfĂŒhren aus. Bei einem 32-Bit Office nimmst du den Eintrag Windows PowerShell (x86) und startest diesen als Administrator.

Setze nun im erscheinenden blauen Fenster folgenden Befehl ab:
Set-ExecutionPolicy RemoteSigned

Danach rufst du das gespeicherte Skript ĂŒber folgendes Kommando auf. Beachte, dass du vorher deinen eigenen Benutzernamen (z.B. Lisa) anstelle von %Nutzer% einsetzen musst (z.B. C:\Users\Lisa\Desktop\…).
Import-Module C:\Users\%Nutzer%\Desktop\office.ps1; Get-MSOfficeProductKey

GlĂŒckwunsch! Der Product Key sollte dir nun angezeigt werden.

Du willst auch deinen Windows-Key per Kommandozeile auslesen? Dann lies hier weiter!

Quelle

5 Gedanken zu „Product Key von Office per PowerShell auslesen

Kommentar verfassen

%d Bloggern gefÀllt das: