[vbscript][work] Windows VistaでのWSH(VBScript)の管理者権限への昇格方法
Windows Vistaになってからクライアントでちょっとレジストリを書き換えたい・・・なんていう場合でもユーザーアカウント制御(UAC)のブロックに阻まれて困っていました。XP以前と同じように普通にWScript.ShellのRegWriteで書き込もうとしても失敗してしまいます。管理者権限を持っているアカウントで実行してもダメなんです。たとえば以下のようなコードですね。 1 : S e t W s h S h e l l = W S c r i p t . C r e a t e O b j e c t ( " W S c r i p t . S h e l l " ) 2 : W s h S h e l l . R e g W r i t e " H K L M \ S O F T W A R E \ T e s t \ v a l u e " , " t e s t " , " R E G _ S Z " どうすれば良いのかと悩んだ末に妥協案として考えたのがregedit.exeを使う方法です。あらかじめ読み込ませたいregファイルを用意しておき、スクリプト中でregedit.exeを呼ぶことでレジストリへの書き込みが一応成功します。ただし、UACが有効な環境ですので、プロンプトが出ます。 ...