Windows PowerShell Logo

Lesen Sie Ihren Windows-Produktkey mithilfe der PowerShell aus.

Es gibt genügend Tools, die die Seriennummer von Windows auslesen können. Dabei hat Windows selbst ein mächtiges Tool im System, das den korrekten Produktkey auslesen kann – die Windows PowerShell – Bestandteil von Windows 7 und Windows 8/8.1.

Die PowerShell ähnelt der Eingabeaufforderung von Windows, basiert jedoch auf .NET Framework und ist in Windows 7 sowie Windows 8 standardmäßig im Betriebssystem integriert.

Die objektorientierte Shell „powershell.exe“, die im Verzeichnis system32WindowsPowerShellvX.x bzw. syswow64WindowspowershellvX.x liegt, ist viel umfangreicher als die textbasierte Eingabeaufforderung „cmd.exe“ aus dem system32- bzw. syswow64-Verzeichnis. Die Shell enthält unter anderem die grafische Entwicklungsumgebung „PowerShell ISE“ (Integrated Scripting Environment), die das Autovervollständigen von Befehlen mit der TAB-Taste unterstützt, sowie farbliche Syntaxkennzeichnungen, Mehrzeilenbearbeitungen, Sprachen mit Lese-Richtung von rechts nach links und einen Skript-Debugger. Eigentlich ist die PowerShell etwas für Entwickler, Script-Bastler oder Administratoren. Wir möchten aber mit PowerShell nur die Lizenznummer von Windows 7 und Windows 8 auslesen.

NEU: Nur ein Skript für Windows XP, Vista, Windows 7, Windows 8/8.1 und Windows 10 *GetWinKey.ps1 downloaden* (gepackt – Anleitung liegt bei).

Für Windows XP SP3, Vista SP2, Windows Server 2003 SP2 und Windows Server 2008 SP2 bietet Microsoft „Windows PowerShell 2.0“ als Download an.

Sie sollten zuerst die Dateinamenerweiterungen einblenden, damit Sie die Dateiendung sehen können. Unter Windows 7 deaktivieren Sie die Option „Erweiterungen bei bekannten Dateitypen ausblenden“ unter Ordneroptionen – Registerkarte „Ansicht“. Unter Windows 8 finden Sie im Menüband die Option, die Sie aktivieren müssen.

Skripte erlauben

Einfach loslegen geht nicht. Zuerst muss die Sicherheitsrichtlinie von PowerShell gelockert werden, damit die Shell auch Skripte ausführt. Starten Sie dazu Windows PowerShell als Administrator.

02.PowerShell
Windows 8

In der 64-Bit-Version müssen Sie die gefundene „Windows PowerShell“ – nicht die „Windows PowerShell (x86)“ – als Administrator ausführen.

03.PowerShell
Windows 7×64
04.PowerShell
Windows 7×64 – Als Administrator ausführen

Geben Sie nun folgenden Befehl ein:

set-executionpolicy remotesigned

Nach Klick auf die [Enter]-Taste wird gefragt, ob Sie die Ausführungsrichtlinie ändern möchten.

Tippen Sie j (für ja) ein und nach erneutem Klick auf die [Enter]-Taste führt die Shell nun Skripte aus.

05.PowerShell
Ausführungsrichtlinie ändern

Um später die alte Sicherheitsrichtlinie wieder zu setzen, geben Sie den folgenden Befehl ein:

set-executionpolicy restricted

Skript zum Auslesen des Produktkeys von Windows erstellen

Erstellen Sie einen Ordner unter C: (zum Beispiel „PowerShellKeySkript„) und öffnen Sie einen Texteditor (Notepad).

Da Windows 8.0/8.1 den Key anders wie seine Vorgänger abspeichert, gibt es zwei verschiedene Scripts:

Für Windows 7

Geben Sie im Notepad für Windows 7 Folgendes ein oder laden Sie sich das Script Win7Key.zip herunter:

function Get-WindowsKey {
    param ($targets = ".")
    $hklm = 2147483650
    $regPath = "SoftwareMicrosoftWindows NTCurrentVersion"
    $regValue = "DigitalProductId"
    Foreach ($target in $targets) {
        $productKey = $null
        $win32os = $null
        $wmi = [WMIClass]"\$targetrootdefault:stdRegProv"
        $data = $wmi.GetBinaryValue($hklm,$regPath,$regValue)
        $binArray = ($data.uValue)[52..66]
        $charsArray = "B","C","D","F","G","H","J","K","M","P","Q","R","T","V","W","X","Y","2","3","4","6","7","8","9"
        For ($i = 24; $i -ge 0; $i--) {
            $k = 0
            For ($j = 14; $j -ge 0; $j--) {
                $k = $k * 256 -bxor $binArray[$j]
                $binArray[$j] = [math]::truncate($k / 24)
                $k = $k % 24
            }
            $productKey = $charsArray[$k] + $productKey
            If (($i % 5 -eq 0) -and ($i -ne 0)) {
                $productKey = "-" + $productKey
            }
        }
        $win32os = Get-WmiObject Win32_OperatingSystem -computer $target
        $obj = New-Object Object
        $obj | Add-Member Noteproperty Computer-Name -value $target
        $obj | Add-Member Noteproperty Windows-Edition -value $win32os.Caption
        $obj | Add-Member Noteproperty Windows-Version -value $win32os.CSDVersion
        $obj | Add-Member Noteproperty Bit-Version -value $win32os.OSArchitecture
        $obj | Add-Member Noteproperty Build-Nummer -value $win32os.BuildNumber
        $obj | Add-Member Noteproperty Lizenznehmer -value $win32os.RegisteredUser
        $obj | Add-Member Noteproperty Produkt-ID -value $win32os.SerialNumber
        $obj | Add-Member Noteproperty Produkt-Key -value $productkey
        $obj
    }
}

Speichern Sie im Notepad über „Datei – Speichern unter“ die Datei im Ordner „PowerShellKeySkript“ als Windows_Key.ps1 ab (NICHT als Windows_Key.ps1.txt). Wechseln Sie im Speichern-Dialog unter Dateityp von „Textdateien (*.txt)“ auf „Alle Dateien (*.*)“.

06.PowerShell
Im Notepad als Windows_Key.ps1 speichern
07.PowerShell
Speichern unter – Dateityp: Alle Dateien (*.*)
08.PowerShell
Verzeichnispfad

 

Für Windows 8/8.1

Hier weicht der Code von dem für Windows 7 ab, so dass sie für Windows 8.0/8.1 bitte diesen Code verwenden und  Win8Key.zip herunterladen.

Hinweis: Wer für Windows 8.0 über den Windows Store oder über Windows Update ein Upgrade auf Windows 8.1 durchgeführt hat, findet seinen „Productkey“ im Klartext in der Registry unter
„HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Win8“
als REG_SZ Wert.

Windows8.1-Verzeichnispfad
Verzeichnispfad und Dateiname

Skript zum Auslesen des Keys ausführen

Wenn die Windows_Key.ps1 (Win7) im Ordner „PowerShellKeySkript“ unter C: liegt, geben Sie nun folgenden Befehl ein, ggf. müssen Sie sonst den Pfad ändern:

Import-Module "C:\PowerShellKeySkript\Windows_Key.ps1"; Get-WindowsKey

Dann drücken Sie die [Enter]-Taste.

Für Windows 8 lautet der Befehl dann

Import-Module "C:\PowerShellKeySkript\Win8Key.ps1"

Sie erhalten Informationen über die Windows-Edition, Windows-Version (Service Pack), Bit-Version, Build-Nummer, Lizenznehmer, Produkt-ID und Produktkey.

Windows8.1-PowerShell
Windows 8.1 Produktkey
10.PowerShell
Windows 7 Produktkey

Hängen Sie bei Windows 7 nach Get-WindowsKey noch den Parameter

Out-File "C:\PowerShellKeySkript\sn.txt"

an, wird eine Textdatei im Ordner „PowerShellKeySkript“ abgelegt.

Beispiel:

Import-Module "C:\PowerShellKeySkript\Windows_Key.ps1"; Get-WindowsKey Out-File "C:\PowerShellKey\Skriptsn.txt"

Wenn Sie das Skript auf einem USB-Stick speichern, können Sie von jedem beliebigen PC den Produktkey auslesen. Auf dem Ziel-Computer muss natürlich Windows PowerShell vorhanden sein und Sie müssen zuerst die Sicherheitsrichtlinie lockern.

Tipp: Auf dieser Seite liefern deutsche PowerShell-Nutzer zahlreiche Tipps und zeigen Beispiele zur Nutzung von PowerShell mit Windows auf.

Das Skript Windows_Key.ps1 funktioniert unter Windows XP, Vista, Windows 7, etc.
Das Skript Win8Key.ps1 funktioniert nur unter Windows 8.0 und Windows 8.1.

Fazit

Eine gute Idee, wenn man das komplizierte, lange Skript besitzt. Die Shell-Befehle selbst sind ja einfach und verständlich.

Das Win8-Skript kann leider nicht den Key von einem vorinstallierten Windows 8, welches im BIOS/EFI den Key hinterlegt hat, auslesen.

Zum Tipparchiv: Produktkey von Windows 8 auslesen

Bildquelle: Microsoft

1 Star2 Stars3 Stars4 Stars5 Stars (59 votes, average: 4,30 out of 5)
Loading...