マシンからWindows 10のライセンスキーを抽出する

license windows-10

オフィス全体でWindows 10を実行しているコンピュータが数台(十数台)ありますが、どのコンピュータでどのライセンスが有効化されているのか、はっきりとした見当がつきません。各コンピュータから現在使用しているライセンスキーを抽出することは可能でしょうか?

私たちはADやKMSなどを使用していません。各コンピュータは、そのコンピュータで作業する個人のためだけに設定されています。どのキーを所有しているかは把握していますが、どのキーがどこで使用されているかは把握していません。OEM、MSDN、「通常の」ライセンスを混在させています

  23  None  2020-06-15


ベストアンサー

NirSoftの「ProduKey」が使えます。nirsoft.netでダウンロードできます。これはフリーウェアのユーティリティで、Windowsのキーだけでなく、他の様々なMicrosoft製品のキーも見ることができます

この方法は、ボリューム ライセンス、OEM およびその他のスタンドアロン ライセンスでも使用できます

Windows 10には公式には対応していないので注意が必要ですが、今のところ私の経験では問題ありません

32  BramMooij  2020-06-15


Enter:

wmic path softwareLicensingService get OA3xOriginalProductKey

をコマンドプロンプト(管理者)に入力します

これで各マシンのWindows 10のオリジナルプロダクトキーが表示されます

注:これはOEMライセンスでのみ機能します

15  Virtuality  2020-06-15


マザーボードに接続されている純正のwindowsコピー(OEMキー)でwindowsを起動している場合は、このコマンドi windows administratorコマンドプロンプトを使用することができます

wmic path softwareLicensingService get OA3xOriginalProductKey

またはAdministrator Powershellで

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

しかし、プロダクトキーを入力していたり、デジタルリスケをパソコンに接続していたりするとうまくいきません。あなたは、ここに示されているようにVBScriptを使用してコンピュータ上にあるプロダクトキーを取得することができますHackooによって作成されました。あなたのプロダクトキーを取得するためによく知られている多くの異なるVBScriptsがあり、レジストリが特定の方法でフォーマットされたあなたのプロダクトキーを格納するので、それらのほとんどは、レジストリに基づいています(半暗号化されていますが、実際にはそうではない場合)

時々、レジストリの値が変更されたり、削除されたりすることがありますので、その場合、私はそれが制限や懸念されていない場合は、余分なサードパーティ製のソフトウェアを使用します。今のお気に入りは ProduKey です


以下HackooによるVBScript

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

動作する別のVBScript

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  Neko Musume  2020-06-16


https://stackoverflow.com/questions/30255656/vbscript-to-return-windows-product-key で見つけたこの優れた VBScript コードを使うことができます

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

レジストリからOSバージョン、ビルド番号、OEM製品ID、プロダクトキーを含むメッセージがポップアップ表示されます。この操作を行う前にアクティベーションが必要です。アクティベーションなしでプロダクトキーを見つけるには、KeyFinder https://www.magicaljellybean.com/keyfinder/ を試してみてください

0  Wasif Hasan  2020-06-15


RecoverKeys recover-keys.com のコピーを取得する ネットワークを越えてスキャンしたり、我々のマシンのセカンドドライブ上でスキャンしたりすることも可能です(あなたが選択した場合)

そして、それが保持するデータベースにすべてのキーを保存することができます

-1  Nestor Fulcanelli  2020-06-16


Belarc.comからダウンロードできるBelarc Advisorを使用することができます

これは、コンピュータ上のソフトウェアの包括的なリストとそのライセンスキーを提供します

-1  wgr  2020-06-16


タイトルとURLをコピーしました