スクリプトまたはコマンドラインを使用して Windows 10 のプロダクト キーを表示するにはどうすればよいですか?

ライブ システムまたはオフライン コンピューターのレジストリ ハイブからプロダクト キーを抽出できるツールは数多くあります。さらに、現在の Windows インストールのプロダクト キーを取得する小さな Vbscript を紹介します。サードパーティ プログラムは必要ありません。このスクリプトは Windows 7、8、および Windows 10 で実行されます。以下に Windows 10 のプロダクト キーを確認する 2 つの方法を紹介しますので、お役に立てれば幸いです。

方法 1: WMI コマンド ラインまたは PowerShell を使用する

次の WMI コマンド ラインを使用して、Windows インストールのプロダクト キーを修復します。

 
 

1

wmic パス ソフトウェアライセンスサービス OA3xOriginalProductKey を取得

このメソッドは、コンピューターの UEFI/BIOS に保存されているアクティベーション キーを取得します。

上記のコマンドは、管理者特権のコマンド プロンプト ウィンドウで実行する必要があることに注意してください。

または、PowerShell を使用している場合は、[PowerShell の管理] ウィンドウで次のコマンドを実行してプロダクト キーを確認します。

 
 

1

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

一部のシステムでは、上記のコマンドはヘッダー OA3xOriginalProductKey とその下の空行を出力し、プロダクト キーが表示されません。これは、デバイスにアクティベーション コード/プロダクト キーが埋め込まれていない場合に発生します。

デバイスにファームウェア アクティベーション キーが組み込まれている場合、それが出力に表示されます。出力が空白の場合、デバイスにはファームウェアが組み込まれたアクティベーション キーがありません。Windows 8 以降を実行するように設計されたほとんどの OEM 供給デバイスには、ファームウェアにキーが埋め込まれています。

方法 2: スクリプトを使用する

重要: 次のメソッドは、単に DigitalProductId レジストリ値をデコードして小売プロダクト キーを取得するだけであることに注意してください。この方法を使用して取得したキーは、自動的に生成されたユニバーサル Windows 10 キーにすることができます (Windows 7 または Windows 8 からデジタル認証にアップグレードされたシステムの場合)。また、Windows 10 のインストール中に手動で入力した小売キーである可能性もあります (以前にライセンスを購入した場合)。したがって、Windows 10 を使用している場合は、最初の方法を優先することをお勧めします。

次のコードをメモ帳にコピーし、ファイルを GetProductKey.vbs として保存します。

 
 

1
2
3
4 5
6
7
8
9
10
11
12
13
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
37 38 39 40 41 42 43 4 4 45 46 47 48 49 50 51 52 53 54








































55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70

Option Explicit  
 
Dim objshell,path,DigitalID, Result  
Set objshell = CreateObject("WScript.Shell")
'レジストリ キーのパスを設定
Path = "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion"
'レジストリ キーの値
DigitalID = objshell.RegRead( Path & "DigitalProductId")
Dim ProductName,ProductID,ProductKey,ProductData
'Get ProductName, ProductID, ProductKey
ProductName = "製品名: " & objshell.RegRead(Path & "ProductName")
ProductID = "製品 ID: " & objshell.RegRead (パス & "ProductID")
ProductKey = "インストールされたキー:  " & ConvertToKey(DigitalID)
ProductData = ProductName & vbNewLine & ProductID & vbNewLine & ProductKey
'ファイルに保存する場合にメッシュボックスを表示  
If vbYes = MsgBox(ProductData & vblf & vblf & "ファイルに保存しますか?", vbYesNo + vbQuestion, "Windows キー情報のバックアップ") then Save ProductData End
   If  
'
 
 
 
バイナリを文字に変換
Function ConvertToKey(Key)
    Const KeyOffset = 52
    Dim isWin8、マップ、i、j、現在、KeyOutput、最後、keypart1、insert
    'OS が 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
        ループ While j >= 0
        i = i -1
        KeyOutput = Mid(Maps,Current+ 1, 1) & KeyOutput
        Last = 現在の
    ループ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(キー出力、16、5) & "-" & Mid(KeyOutput, 21, 5)
   
     
End Function
'データをファイルに保存
Function Save(Data)
    Dim fso, fName, txt,objshell,UserName
    Set objshell = CreateObject("wscript.shell")
    '現在のユーザー名を取得  
    UserName = objshell.ExpandEnvironmentStrings("%UserName%" )  
    'デスクトップにテキスト ファイルを作成します  
    fName = "C:\Users" & UserName & "\Desktop\WindowsKeyInfo.txt"
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set txt = fso.CreateTextFile(fName)
    txt.Writelineデータ
    txt.Close
終了関数

おすすめ

転載: blog.csdn.net/winkexin/article/details/131747019