オフィス全体で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