Windows Server Product Key via PowerShell auslesen
Beim Aufräumen meines Schreibtisches fand ich eben eine (noch verschweißte) Windows Server 2008 R2 Lizenz, die ich vor einiger Zeit bei der Installation eines Kundensystems verwendet hatte. Soweit so gut, da die Lizenz dem Kunden gehört, muss sie auch geliefert werden – fragt sich nur: Welcher Kunde war das noch gleich? Wo ist die Lizenz aktiviert?
Ich hatte vor mir also nur das Lizenzpaket mit zwei gültigen Lizenzen für Windows Server 2008 R2 Standard – eine für das physische System und die zugehörige virtuelle Lizenz. Soweit so gut – doch wie finde ich mal eben schnell den jeweiligen Produkt-Schlüssel der Maschine?
Variante 1
Es gibt ein kleines einfaches Tool von NirSoft mit dem Namen ProduKey, welches nicht nur den Product Key des Betriebssystemes sondern auch gleich von weiteren Microsoft Produkten (Office, SQL Server, Exchange Server) anzeigt. Bei meinen Tests zeigte jenes Programm die Schlüssel des Systems zuverlässig und korrekt an. Das Tool funktioniert von Windows 98 bis hin zu Windows Server 2008 R2, was ein enormes Spektrum ist, wie ich finde.
Variante 2
Eine weitere, sehr komfortable und relativ einfache Möglichkeit besteht in der Ausführung eines PowerShell Skriptes. Gefunden habe ich das Skript bei meiner Suche im Kraut & Rüben Blog und hat den folgenden Inhalt:
$map="BCDFGHJKMPQRTVWXY2346789"
$value = (get-itemproperty "HKLM:\\SOFTWARE\Microsoft\Windows NT\CurrentVersion").digitalproductid[0x34..0x42]
$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
}
}
echo "Product Key:" $ProductKey
Die Datei benennt man am Besten GetProductKey.ps1, zur Ausführung selbiger wird natürlich die Windows PowerShell benötigt. Bei der Ausführung des Skriptes erhält man möglicherweise die folgende Fehlermeldung, da sich die Standardeinstellung der PowerShell auf die Ausführung von Befehlen und nicht von Skripten beschränkt:
File [Pfad zum Skript] cannot be loaded because the execution of scripts is disabled on this system. Please see “get- help about_signing” for more details.Dafür muss die PowerShell einmalig (als Administrator) gestartet und der folgende Befehl mit [J] beantwortet werden:
set-executionpolicy remotesigned
Danach liefert das Skript den Schlüssel ordnungsgemäß – bei mir funktionierte das für Windows Server 2003 bis hin zu 2008 R2.
Fazit
Viele Wege führen bekanntlich nach Rom. Das Programm ProduKey von NirSoft zeigt zusätzlich zum Betriebssystem gleich mehrere Schlüssel von unterschiedlichen Microsoft Produkten an. Dafür muss ich – gerade auf neueren Betriebssystemen wie Windows Server 2008 (R2) – bei der Nutzung des PowerShell-Skriptes keine Software herunterladen und installieren. Ganz sicher Geschmackssache. Wie bei allen meinen Beiträgen gilt: Bei Tipps, Vorschlägen sowie Fragen oder Kritiken hinterlasst bitte einen Kommentar.

funktioniert bei mir nicht, der Key wird nur als BBBBB-BBBBB-BBBBB-BBBBB-BBBBB angezeigt. Win2008R2 aktueller Patchstand
Hallo Memorx,
das Script funktioniert nur bei Systemen bei denen der Produkt-Key in der Registry abgelegt wird. Bei Volumen Lizenzen ist das bspw. nicht der Fall. Da hilft die nur ProduKey von Nirsoft (Link siehe oben) weiter.
Gruß,
Bent
Bei mir geht es mit nirsoft nicht einmal es steht Produktschlüssel unauffindbar.
Hallo Lukas,
evtl. hast Du hier eine MSDN oder Technet-Lizenz. Mit denen habe ich die selben Erfahrungen gemacht wie Du – sie werden nicht angezeigt.
Gruß,
Bent
Kann mit ProduKey von Nirsoft nur die Serverlizenz auslesen, die Cals zeigt es jedoch nicht an :)
Hallo,
gibt es diese Variante auch für Office Key´s?
Habe zwar etwas gefunden, dies funktioniert aber nicht auf meinem W7 System mit Office2010.
http://bit.ly/12PXks3
Ansonsten: Tolles Script, funktioniert tadellos mit 40 Rechnern, unabhängig ob XP oder Windows7!
Der Blog gefällt mir auch gut, habe bereits einige Interessante Artikel gefunden!
Weiter so!
Hallo nochmal,
ich bin ja auch ein Freund der Powershell, aber die Software von Nirsoft eignet sich hervorragend zum Auslesen der Keys von vielen Systemen. Per Kommandozeile waren 30 Systeme in 5sek ausgelesen und als .txt gespeichert.. incl. Office!
:)