Run VBScript as admin

From Computernewb Wiki
Revision as of 16:33, 1 May 2021 by computernewb>Judyhegao (fixed the ugly ass syntax highlighting)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

In Windows Vista, 7, 8 and 10 you may want to run a VBScript as admin. While this is possible by right clicking and hitting "Administrator" most will probably want the UAC prompt to appear, like in a program. The below code will try to elevate privileges if it is on Vista and up (but will not if running on XP, 2000, etc.)

Option Explicit

Dim WMI, OS, Value, Shell

do while WScript.Arguments.Count = 0 and WScript.Version >= 5.7
    '##### check windows version
    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

    '##### execute as admin privileges
    Set Shell = CreateObject("Shell.Application")
    Shell.ShellExecute "wscript.exe", """" & WScript.ScriptFullName & """ uac", "", "runas"

    WScript.Quit
loop

'##### execute code
WScript.Echo "Hello World"