VBScript アプリケーション開発

【VBScript】管理者権限でVBScriptを実行させる

投稿日:

このページの内容

どんな時にこの機能が必要になるか

このページのタイトルにある通りですが、管理者権限が必要になるフォルダ内のファイルの編集などをVBSriptで行いたい場合に、この機能が必要となります。
ユーザーフォルダ内であれば当然この機能はほとんど必要ないかもしれませんが、例えばProgram Filesフォルダ内やProgramDataフォルダ内の変更を行う時に利用することが出来ます。

私の場合は、インストールしていたアプリケーションの不具合対応で、ProgramDataフォルダ内にある特定のファイル削除が必要になったため、PCがあまり得意ではない人でも簡単に実行できるようにするために作成しました。
※ProgramDataフォルダは隠しフォルダとなっている場合があるため、隠しフォルダの表示の説明からするのが手間だったためVBScriptを配布する形で適用してもらいました。

ソースコード

実行させたいScriptの先頭に、以下の記述を追加するだけでOKです。
但し、この記述では引数を渡して実行することはできません。

Option Explicit
On Error Resume Next

'管理者権限で実行させる
Dim oShellApp
Set oShellApp = Wscript.CreateObject("Shell.Application")
if Wscript.Arguments.Count = 0 then
  oShellApp.ShellExecute "wscript.exe", WScript.ScriptFullName & " runas", "", "runas", 1
  Wscript.Quit
end if
Set oShellApp = Nothing

'これ以降に実行したい処理を記述していく

簡単な解説ですが、
VBScriptファイルをダブルクリックして実行したときは、引数を渡していないため、
if Wscript.Argments.Count = 0 then
の中に入っていきます。

そして、実際にスクリプトを実行する本体であるwscript.exe に引数として、ダブルクリックしたファイルのパス(WScript.ScriptFullNameで取得できる)を渡す際に” runas”, “”, “runas”, 1を管理者権限として実行するための引数として渡して実行させています。
※runas → run as : このあとに記述するユーザーで実行するということです。ただし、今回は自分が実行する

管理者権限を実行するための引数を渡しているので、
if Wscript.Argments.Count = 0 then
のプロセスには入らずに、これ以降の処理へ入っていくことになります。

もちろんこれを実行すると、
“このアプリがデバイスに変更を加えることを許可しますか?”
というメッセージが表示され、”はい”を選択しない限りは実行されないようになっています。

Follow me!

-VBScript, アプリケーション開発
-

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です


The reCAPTCHA verification period has expired. Please reload the page.

関連記事

no image

【C#】【VBScript】アプリケーションの自動再起動

このページの内容 この機能を作成した理由ソースコード この機能を作成した理由 24H稼働している工場等のクラサバ系のシステムで、サーバー側ソフトが原因不明のハングアップをしてしまい、夜中に呼び出しを受 …

VisualStudio2019でSQLiteを利用する(SQLite.orgからDLLをダウンロード)

このページでは、Visual Studio 2019にてインストール等の作業が不要な実行ファイル配布型のWindowsアプリでSQLiteを利用するためにあれこれ必要な点をまとめています。 すでにSQ …

GASの利用 ~新しい生活様式のためのメモ①~

コロナウィルスの拡大により、政府から“「新しい生活様式」の実践例”というものが、公開されていることをご存知の方も多いと思います。その中で、“移動に関する感染対策”という項目の中で、“発症したときのため …

VisualStudio2019でSQLiteを利用する(NuGetパッケージのインストール)

このページでは、VisualStudio2019にてNuGetパッケージのインストールによってSQLiteを利用するための手順を紹介しています。DLLをダウンロードして、参照設定にて利用される方法はこ …

no image

MP4ファイルから字幕データの抽出

このページでは、Windows10にてffmpegとPowershellを利用して、MP4ファイルから字幕データを抽出する方法を説明しています。 使用するMP4ファイルについてffmpegの取得と字幕 …

このサイトの管理者について

1980年代生まれ
石川県在住

メーカー2社経験後に退社

1年程度自由に在職中はできなかったことにチャレンジ

その後コロナの影響でなかなか仕事が見つかりませんでしたが、無事就職

現在はシステム会社に勤務中

PAGE TOP