Windows10/8.1/7のプロダクトキーを確認するコマンドとその他の方法

コマンドプロンプトまたはPowerShellからWindowsのプロダクトキーを確認するコマンドのメモ。Windows10/8.1/7で共通です。

コマンドプロンプトの場合

コマンドプロンプトから確認する場合は以下のWMICコマンドを実行します。

wmic path SoftwareLicensingService get OA3xOriginalProductKey

PowerShellの場合

PowerShellから確認する場合は以下のコマンドを実行します。

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

何も表示されない場合

上記のコマンドを実行してもプロダクトキーが表示されない場合があります。例えばWindows10で無償アップグレードでインストールされたPCなど、デジタルライセンスの場合、表示されないことがあります。

VBScriptで調べる場合

以下のコマンドをメモ帳などのテキストエディタに貼り付け、windowskeyfinder.vbsと適当に名前を付け保存し、ダブルクリックで実行するとレジストリに保存されている暗号化されたプロダクトキーをデコードして表示することができます。

Set WshShell = CreateObject("WScript.Shell")
MsgBox ConvertToKey(WshShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DigitalProductId"))
 
Function ConvertToKey(Key)
Const KeyOffset = 52
i = 28
Chars = "BCDFGHJKMPQRTVWXY2346789"
Do
Cur = 0
x = 14
Do
Cur = Cur * 256
Cur = Key(x + KeyOffset) + Cur
Key(x + KeyOffset) = (Cur \ 24) And 255
Cur = Cur Mod 24
x = x -1
Loop While x >= 0
i = i -1
KeyOutput = Mid(Chars, Cur + 1, 1) & KeyOutput
If (((29 - i) Mod 6) = 0) And (i <> -1) Then
i = i -1
KeyOutput = "-" & KeyOutput
End If
Loop While i >= 0
ConvertToKey = KeyOutput
End Function

以下のページを参考にしています。

Link

Object Moved

https://answers.microsoft.com/en-us/insider/forum/insider_wintp-insider_repair/how-to-find-all-windows-version-serial-key/a6d7e4eb-2adf-4e57-8ead-0bd85ec2758d

フリーソフトで調べる方法

試していませんが、以下の二つのアプリケーションで調べることも可能のようです。

Link

Produkey - Recover Lost Product Key (cd-Key) Of Windows/Ms-Office/Sql Server

http://www.nirsoft.net/utils/product_cd_key_viewer.html#DownloadLinks

Link

Rjl Software - Software - Utility - Windows Product Key Viewer - Download

http://www.rjlsoftware.com/software/utility/winproductkey/download.shtml

以下の参考ページによると、前者の「ProductKey」がいいみたいです。Windowsに限らず、Officeのプロダクトキーも調べることができそうです。

Link

【図解】windows 10とWindows 7のプロダクトキーの確認方法 | データ復旧のパソコンサポートやまもと

https://datarescue.yamafd.com/check_win_productkey/

PAGETOP