読者です 読者をやめる 読者になる 読者になる

VBSを管理者権限で起動させる

VBScriptの冒頭で、一旦、管理者権限へ昇格して、後続の処理を実行させるようにします。
以下は、Vista 以上なら管理者権限へ昇格して実行、Vista未満ならそのまま実行するサンプルです。

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"


ネタ元