その他 Tips
Sponsored Link

VBScriptを管理者権限で実行する
2012/12/21

  Windows Vista 以上の環境では、ユーザーアカウント制御(UAC)のため、 VBScriptを「管理者として実行」できません。 回避策として、VBScriptの冒頭で、一旦、管理者権限へ昇格して、後続の処理を実行させるようにします。
以下は、Vista 以上なら管理者権限へ昇格して実行、Vista未満ならそのまま実行するサンプルです。
Option Explicit

Dim WMI, OS, Value, Shell

do while WScript.Arguments.Count = 0 and WScript.Version >= 5.7
    '##### WScript5.7 または Vista 以上かをチェック
    Set WMI = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\.\root\cimv2")
    Set OS = WMI.ExecQuery("SELECT *FROM Win32_OperatingSystem")
    For Each Value in OS
    if left(Value.Version, 3) < 6.0 then exit do
    Next

    '##### 管理者権限で実行
    Set Shell = CreateObject("Shell.Application")
    Shell.ShellExecute "wscript.exe", """" & WScript.ScriptFullName & """ uac", "", "runas"

    WScript.Quit
loop

'##### メイン処理を実行
WScript.Echo "Hello World"

関連コンテンツ