MR2オーナー吉田貴幸のブログ

MR2(SW20)オーナー吉田貴幸のブログ。仕事はITインフラエンジニア。愛車の記事とIT関連の情報を発信しています

Microsoft Public Affiliate Program (JP)(マイクロソフトアフィリエイトプログラム)

【Windows】VBScriptでプロダクトキーを表示・取得する

f:id:takayuki-yoshida:20190421223552p:plain

 

はじめに

WindowsのプロダクトキーをVBScriptで表示・取得する方法を紹介します。フリーソフトなどを使用せず、Windows標準機能で取得ができます。

 

Productkey.vbs

メモ帳を開き、以下のテキストをコピーして、名前を付けて保存からファイル名「Productkey.vbs」を入力して保存してください

Set WshShell = CreateObject("WScript.Shell")
wscript.echo 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

 

参考に記載されているソースから、プロダクトキー表示の箇所を標準出力へ変更しています。

 

実行方法

コマンドプロンプトを開き、下記コマンドで実行します。

>cscript //nologo Productkey.vbs

 

 

出力結果をリダイレクトして、テキストで保存することもできます。

>cscript //nologo Productkey.vbs > Productkey.txt

 

なお、Productkey.vbsファイルをダブルクリックで実行して、GUI表示も可能です。

 

参考

social.technet.microsoft.com