Extrahieren von Windows 10-Lizenzschlüsseln von Computern

Im gesamten Büro haben wir mehrere Computer mit Windows 10 (etwa ein Dutzend), aber wir haben keine klare Vorstellung, welche unserer Lizenzen auf welchem Computer aktiviert sind. Ist es möglich, den aktuell verwendeten Lizenzschlüssel von jedem Computer zu extrahieren?

Wir verwenden keine AD oder einen KMS oder ähnliches, jeder Computer ist nur für die Person eingerichtet, die daran arbeitet. Wir sind uns bewusst, welche Schlüssel wir besitzen, aber wir wissen nicht, welche verwendet werden und wo. Wir haben eine Mischung aus OEM, MSDN und "normale" Lizenzen.

Author: MMM, 2020-06-15

6 answers

Sie können Nirsofts 'ProduKey' verwenden. Sie können es auf herunterladen nirsoft.net. Dies ist ein Freeware-Dienstprogramm, mit dem Sie nicht nur Windows-Schlüssel, sondern auch verschiedene andere Microsoft-Produktschlüssel anzeigen können.

Diese Methode funktioniert sowohl für Volumenlizenzen als auch für OEM-und andere eigenständige Lizenzen.

Beachten Sie, dass Windows 10 offiziell nicht unterstützt wird, aber meine bisherigen Erfahrungen waren erfolgreich.

 32
Author: BramMooij,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-06-15 15:54:03

Eingeben:

wmic path softwareLicensingService get OA3xOriginalProductKey 

In Die Eingabeaufforderung (Admin)

Hier wird der ursprüngliche Windows 10-Produktschlüssel für jede Maschine angezeigt.

HINWEIS: Dies funktioniert nur für OEM-Lizenzen.

 15
Author: Virtuality,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-06-15 15:28:32

Wenn Sie Windows auf einer [[5]}echten Windows-Kopie ausführen, die mit dem Motherboard verbunden ist( ein OEM-Schlüssel), können Sie diesen Befehl verwenden i windows administrator Eingabeaufforderung:

wmic path softwareLicensingService get OA3xOriginalProductKey

, Oder im Administrator-Powershell -

$(Get-WmiObject -query 'select * from SoftwareLicensingService').OA3xOriginalProductKey

Wenn Sie jedoch einen Produktschlüssel eingegeben oder eine digitale Liscence an den Computer angeschlossen haben, funktioniert dies nicht. Sie können den product key der auf Ihrem computer mit einem VBScript-wie gezeigt hier verfasst von Hackoo. Es gibt viele verschiedene VBScripts gut bekannt, um Ihren Produktschlüssel zu erhalten und die meisten von ihnen basieren auf der Registrierung, da die Registrierung speichert Ihren Produktschlüssel in einer bestimmten Art und Weise formatiert (halb verschlüsselt, aber nicht wirklich, wenn Sie so wollen).

Manchmal ändern sich die Registrierungswerte oder werden entfernt, sodass ich in diesem Fall zusätzliche Software von Drittanbietern verwenden würde, wenn dies keine Einschränkung oder Besorgnis darstellt. Mein Favorit im Moment ist ProduKey


VBScript von Hackoo unten

const HKEY_LOCAL_MACHINE = &H80000002

strKeyPath = "SOFTWARE\Microsoft\Windows NT\CurrentVersion"
strValueName = "DigitalProductId"
strComputer = "."
dim iValues()

Set oReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _ 
  strComputer & "\root\default:StdRegProv")
oReg.GetBinaryValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,iValues

Dim arrDPID
arrDPID = Array()
For i = 52 to 66
  ReDim Preserve arrDPID( UBound(arrDPID) + 1 )
  arrDPID( UBound(arrDPID) ) = iValues(i)
Next
' <--- Create an array to hold the valid characters for a microsoft Product Key --->
Dim arrChars
arrChars = Array("B","C","D","F","G","H","J","K","M","P","Q","R","T","V","W","X","Y","2","3","4","6","7","8","9")

' <--- The clever bit !!! (Decrypt the base24 encoded binary data) --->
For i = 24 To 0 Step -1
  k = 0
  For j = 14 To 0 Step -1
    k = k * 256 Xor arrDPID(j)
    arrDPID(j) = Int(k / 24)
    k = k Mod 24
  Next
  strProductKey = arrChars(k) & strProductKey
  ' <--- add the "-" between the groups of 5 Char --->
  If i Mod 5 = 0 And i <> 0 Then strProductKey = "-" & strProductKey
Next
strFinalKey = strProductKey

' <--- This part of the script displays operating system Information and the license Key --->
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
  & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colOperatingSystems = objWMIService.ExecQuery _
  ("Select * from Win32_OperatingSystem")
For Each objOperatingSystem in colOperatingSystems
  strOS   = objOperatingSystem.Caption
  strBuild   = objOperatingSystem.BuildNumber
  strSerial   = objOperatingSystem.SerialNumber
  strRegistered  = objOperatingSystem.RegisteredUser
Next

Set wshShell=CreateObject("wscript.shell")
strPopupMsg = strOS & vbNewLine & vbNewLine
strPopupMsg = strPopupMsg & "Build Number:  " & strBuild & vbNewLine
strPopupMsg = strPopupMsg & "PID:  " & strSerial & vbNewLine & vbNewLine
strPopupMsg = strPopupMsg & "Registered to:  " & strRegistered & vbNewLine & vbNewLine & vbNewLine
strPopupMsg = strPopupMsg & "Your Windows Product Key is:" & vbNewLine & vbNewLine & strFinalKey
strPopupTitle = "Microsoft Windows License Information"
wshShell.Popup strPopupMsg,,strPopupTitle,vbCancelOnly+vbinformation

Ein anderer VBScript, das funktioniert

Option Explicit
Dim objshell,path,DigitalID, Result
Set objshell = CreateObject("WScript.Shell")
'Set registry key path
Path = "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\"
'Registry key value
DigitalID = objshell.RegRead(Path & "DigitalProductId")
Dim ProductName,ProductID,ProductKey,ProductData
'Get ProductName, ProductID, ProductKey
ProductName = "Product Name: " & objshell.RegRead(Path & "ProductName")
ProductID = "Product ID: " & objshell.RegRead(Path & "ProductID")
ProductKey = "Installed Key: " & ConvertToKey(DigitalID)
ProductData = ProductName & vbNewLine & ProductID & vbNewLine & ProductKey
'Show messbox if save to a file
If vbYes = MsgBox(ProductData & vblf & vblf & "Save to a file?", vbYesNo + vbQuestion, "BackUp Windows Key Information") then
Save ProductData
End If
'Convert binary to chars
Function ConvertToKey(Key)
Const KeyOffset = 52
Dim isWin8, Maps, i, j, Current, KeyOutput, Last, keypart1, insert
'Check if OS is Windows 8
isWin8 = (Key(66) \ 6) And 1
Key(66) = (Key(66) And &HF7) Or ((isWin8 And 2) * 4)
i = 24
Maps = "BCDFGHJKMPQRTVWXY2346789"
Do
Current= 0
j = 14
Do
Current = Current* 256
Current = Key(j + KeyOffset) + Current
Key(j + KeyOffset) = (Current \ 24)
Current=Current Mod 24
j = j -1
Loop While j >= 0
i = i -1
KeyOutput = Mid(Maps,Current+ 1, 1) & KeyOutput
Last = Current
Loop While i >= 0

If (isWin8 = 1) Then
keypart1 = Mid(KeyOutput, 2, Last)
insert = "N"
KeyOutput = Replace(KeyOutput, keypart1, keypart1 & insert, 2, 1, 0)
If Last = 0 Then KeyOutput = insert & KeyOutput
End If
ConvertToKey = Mid(KeyOutput, 1, 5) & "-" & Mid(KeyOutput, 6, 5) & "-" & Mid(KeyOutput, 11, 5) & "-" & Mid(KeyOutput, 16, 5) & "-" & Mid(KeyOutput, 21, 5)
End Function
'Save data to a file
Function Save(Data)
Dim fso, fName, txt,objshell,UserName
Set objshell = CreateObject("wscript.shell")
'Get current user name
UserName = objshell.ExpandEnvironmentStrings("%UserName%")
'Create a text file on desktop
fName = "C:\Users\" & UserName & "\Desktop\WindowsKeyInfo.txt"
Set fso = CreateObject("Scripting.FileSystemObject")
Set txt = fso.CreateTextFile(fName)
txt.Writeline Data
txt.Close
End Function
 5
Author: Neko Musume,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-06-16 18:13:43

Sie können diesen ausgezeichneten VBScript-Code unter https://stackoverflow.com/questions/30255656/vbscript-to-return-windows-product-key

const HKEY_LOCAL_MACHINE = &H80000002

strKeyPath = "SOFTWARE\Microsoft\Windows NT\CurrentVersion"
strValueName = "DigitalProductId"
strComputer = "."
dim iValues()

Set oReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _ 
  strComputer & "\root\default:StdRegProv")
oReg.GetBinaryValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,iValues

Dim arrDPID
arrDPID = Array()
For i = 52 to 66
  ReDim Preserve arrDPID( UBound(arrDPID) + 1 )
  arrDPID( UBound(arrDPID) ) = iValues(i)
Next
' <--- Create an array to hold the valid characters for a microsoft Product Key --->
Dim arrChars
arrChars = Array("B","C","D","F","G","H","J","K","M","P","Q","R","T","V","W","X","Y","2","3","4","6","7","8","9")

' <--- The clever bit !!! (Decrypt the base24 encoded binary data) --->
For i = 24 To 0 Step -1
  k = 0
  For j = 14 To 0 Step -1
    k = k * 256 Xor arrDPID(j)
    arrDPID(j) = Int(k / 24)
    k = k Mod 24
  Next
  strProductKey = arrChars(k) & strProductKey
  ' <--- add the "-" between the groups of 5 Char --->
  If i Mod 5 = 0 And i <> 0 Then strProductKey = "-" & strProductKey
Next
strFinalKey = strProductKey


' <--- This part of the script displays operating system Information and the license Key --->
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
  & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colOperatingSystems = objWMIService.ExecQuery _
  ("Select * from Win32_OperatingSystem")
For Each objOperatingSystem in colOperatingSystems
  strOS   = objOperatingSystem.Caption
  strBuild   = objOperatingSystem.BuildNumber
  strSerial   = objOperatingSystem.SerialNumber
  strRegistered  = objOperatingSystem.RegisteredUser
Next

Set wshShell=CreateObject("wscript.shell")
strPopupMsg = strOS & vbNewLine & vbNewLine
strPopupMsg = strPopupMsg & "Build Number:  " & strBuild & vbNewLine
strPopupMsg = strPopupMsg & "PID:  " & strSerial & vbNewLine & vbNewLine
strPopupMsg = strPopupMsg & "Registered to:  " & strRegistered & vbNewLine & vbNewLine & vbNewLine
strPopupMsg = strPopupMsg & "Your Windows Product Key is:" & vbNewLine & vbNewLine & strFinalKey
strPopupTitle = "Microsoft Windows License Information"
wshShell.Popup strPopupMsg,,strPopupTitle,vbCancelOnly+vbinformation

Es wird eine Meldung mit der Betriebssystemversion, der Build-Nummer, der OEM-Produkt-ID und dem Produktschlüssel aus der Registrierung angezeigt. Eine Aktivierung ist erforderlich, bevor Sie dies tun, andernfalls wird der falsche Produktschlüssel zurückgegeben. Um Produktschlüssel ohne Aktivierung zu finden, können Sie KeyFinder versuchen https://www.magicaljellybean.com/keyfinder/

 0
Author: Wasif Hasan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-06-15 15:58:01

Erhalte eine Kopie von RecoverKeys recover-keys.com Es funktioniert auch (wenn Sie möchten), netzwerkübergreifend oder auf einem zweiten Laufwerk in unserem Computer zu scannen (Beispiel: Ich habe ein altes C: - Laufwerk in meinen neuen Computer verschoben und RK hat auch die Serien und prod #auf diesem Laufwerk gefunden.

Dann können Sie alle Schlüssel in einer Datenbank speichern, die sie behalten

 -2
Author: Nestor Fulcanelli,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-06-16 17:45:05

Sie können Belarc Advisor verwenden, herunterladbar von Belarc.com.

Es gibt Ihnen eine umfassende Liste der Software auf dem Computer sowie deren Lizenzschlüssel.

 -2
Author: wgr,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-06-16 20:33:31