Bents Blog

 

Ein IT Blog mit Themen aus dem Windows Server Umfeld.

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.

Einen Blog am Leben zu erhalten kostet Zeit und Geld. Da ich auf meiner Seite weder Werbung einbinde, noch andersweitige Zuwendungen erhalte, freue ich mich über jede kleine Spende. Einfach und unkompliziert geht das über PayPalMe. Du unterstützt damit diesen Blog. Vielen Dank.

Kommentare für “Windows Server Product Key via PowerShell auslesen”

  • Bent Schrader

    Auf Grund der am 25. Mai 2018 in Kraft tretenden europäischen Datenschutz-Grundverordnung wurden alle Kommentare abgeschaltet und gelöscht. Damit wird die Erhebung personenbezogener Daten vermieden. Das DSGVO wurde von Professor Thomas Hoeren zu "einem der schlechtesten Gesetze des 21. Jahrhunderts" gekürt, mit der Bemerkung, dass überbordene Werk sei "hirnlos". Ich bedaure sehr, das damit die Möglichkeit zum Austausch von Informationen von Gleichgesinnten verhindert wird.