はじめに
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表示も可能です。
参考