VBScript を『管理者として実行する』には、以下の内容ををスクリプトの先頭に記述します
🔻 VBScript
Set obj = Wscript.CreateObject("Shell.Application") if Wscript.Arguments.Count = 0 then obj.ShellExecute "wscript.exe", WScript.ScriptFullName & " runas", "", "runas", 1 Wscript.Quit end if Wscript.Echo "ここは管理者権限で実行されます"
🔻 Jscript
※ Jscript は WScript 等、大文字小文字の区別があるので注意です。
var obj = new ActiveXObject("Shell.Application"); if ( WScript.Arguments.length == 0 ) { obj.ShellExecute( "wscript.exe", WScript.ScriptFullName + " runas", "", "runas", 1 ); WScript.Quit(); } WScript.Echo( "ここは管理者権限で実行されます" );
Shell.ShellExecute method これは、VBScript から利用可能な Shell の機能を使って、右クリックメニューにある『管理者として実行』を実行する方法です。ここでは日本語では無く runas と言う文字列を使って管理者として実行させています。 但し、引数がなかった場合の処理としては処理終了します。ですからこのスクリプトでは、引数をダミーで一つセットして( この場合一つめの runas がそうです )自分自身を再度呼び出しています。 つまり、Windows からすれば二度目の実行が管理者としての実行になります。 この場合は、スクリプトに引数を渡す事ができません。もし渡したい場合は、違ったトリックを使う必要があるのに注意して下さい。(その場合は、外部ファイルから入力するのがもっとも簡単で確実だと思います)
VBScriptドキュメント
|
【VBS + Shellの最新記事】
- 管理者権限でコマンドプロンプトを開く VBScript をエクスプローラの右クリックで開く( そのフォルダで開く )方法
- VBScript : キーストロークをウインドウに送信して、キー操作をした事にする( 例 : リモート デスクトップ接続ダイアログ )
- エクスプローラのフォルダから管理者権限でコマンドプロンプトを開く / 右クリックから『送る』で開く
- シャットダウンダイアログを表示する / ログオフ・リブート・シャットダウン / VBScript
- Windows のファイルの『更新日付』のみ VBScript + Shell.Application で変更
- VBScript : プロパティダイアログを表示する
- VBScript : ファイルやフォルダを右クリックすると表示されるコマンド文字列の一覧を取得して、それを使ってコマンドを実行する
- VBScript : Shell.Application で開くWindows ツール
- Windows7 : VBScriptで、コントロールパネル内のエントリの実行
- シャットダウンダイアログを開くスクリプトと、シャットダウンするスクリプト
【VBScript関連のカテゴリ】