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 では取得できない場合があるのかもしれません。その場合は上のスクリプトを実行する事によって取得できますので、是非とも試してみるとよいでしょう。
それでは最後までお読みいただきありがとうございました!