SEブログ

【Windows10】スクリプトだけでプロダクトキーを確認する方法

 

こんにちは!SE ブログの相馬です。

 

 

 

今回は、Windows 10 のプロダクトキーを確認する方法について書きました。

 

 

Windows 10 のインストールには一部プロダクトキーの入力を求められる場合があります。

 

 

その場合、プロダクトキーが手元にあってすぐ確認できる状態にあれば良いのですが、紛失してしまった場合や、中古の PC の場合などでプロダクトキーが確認できない場合はどうしたらよいのでしょうか?

 

 

そこで、プロダクトキーを確認する方法として、PowerShell やフリーツールを使って取得する方法などあるのですが、PC にツールなどインストールしなくても確実に取得する方法があります。

 

 

それは以下の方法になりますが、やってみてできなかった事・できた事を説明させていただこうと思います。

 

 

 

スポンサーリンク

試してみたができなかった事

 

 

WMIC コマンド

 

 

まずは wmic コマンドでたたいてみましたが、私の PC では結果は表示されませんでした。

 

wmic path softwarelicensingservice get OA3xOriginalProductKey

 

 

 

 

PowerShell

 

 

続いて、PowerShell でも試してみましたが、私の PC ではプロダクトキーは取得できませんでした。

 

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

 

 

 

 

スポンサーリンク

レジストリを見てみた

 

 

何故プロダクトキーが表示されないのだろうと思い、ネットで調べてレジストリの場所を探してみましたところ、何やら暗号化されているように見えます。

 

 

暗号化されているのではないかというのは、プロダクトキーの文字列ではない為です。どうやら暗号化されているが為に、プロダクトキーを取得する事ができないのかもしれません。

 

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DefaultProductKey

 

 

 

 

最終的にやった事

 

 

ツールをインストールするのは良いですが、面倒なのと極力フリーのツールはインストールしたくない場合どうすれば良いか調べてみましたところ、Microsoft のコミュニティに方法が書いてありました。

 

How to find all windows version serial key | Microsoft

 

 

このスクリプトをテキストに貼って、拡張子を .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

 

 

 

スポンサーリンク

まとめ

 

 

いかがでしょうか。PC の環境によっては wmic や PowerShell では取得できない場合があるのかもしれません。その場合は上のスクリプトを実行する事によって取得できますので、是非とも試してみるとよいでしょう。

 

 

それでは最後までお読みいただきありがとうございました!