VBScriptでレジストリの値を変更する方法を解説します。
*レジストリの変更は最悪Windowsが起動しなくなる可能性があるので自己責任で変更しましょう。
例として、拡張子が[.ps1]となっているPowerShellのファイルをダブルクリックで実行出来るようにレジストリの設定を変更してみます。
デフォルトの設定では、Windows標準のメモ帳で開かれます。
サンプルソースコード
Option Explicit ' 宣言 Dim ws ' WSHオブジェクトの作成 Set ws = CreateObject("WScript.Shell") ' レジストリの変更 ws.RegWrite "HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell\", "0", "REG_SZ" ' 変更後の値を確認 MsgBox ws.RegRead("HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell\")
使用方法
作成したスクリプトを実行すると以下のようなエラーが発生します。
このエラーは、レジストリの値を変更する権限が不足しているために発生しています。
なので、コマンドプロンプトを管理者で開き、そこから実行する必要があります。
まずはコマンドプロンプトを管理者権限で起動します。手順は下記の記事を参考にして下さい。
実行するコマンドは以下になります。
まずは[cd]コマンドでスクリプトがあるフォルダに移動します。
次に[cscript.exe {スクリプトファイル名}]で実行します。
実行後にメッセージボックスが表示され、表示された値が想定通りであれば成功です!
C:\WINDOWS\system32>cd C:\workspace\VBScript C:\workspace\VBScript>cscript.exe Test.vbs
危険の伴うレジストリの変更ですが、このような簡単なプログラムで自動化出来ます。
複数端末のセットアップの際などにはスクリプト化しておくと設定誤りなどの防止にもなります。
是非活用していきましょう!
サンプル豊富な逆引きリファレンスはこちら↓
コメント