Slik starter du et VBScript i Elevated Mode (kjør som administrator)

2015-07-26 17:23:48
Hoved~~Pos=Trunc·Microsoft·Slik starter du et VBScript i Elevated Mode (kjør som administrator)

Med introduksjonen av brukerkontokontroll (UAC) i Windows Vista åpner du vanligvis en forhøyet ledetekst for å kjøre batchfiler og skript som trenger administrative rettigheter. Programmer kan benytte seg av manifestfiler (ved å bruke RequireAdministrator- flagget) for automatisk å kjøre forhøyet.

For skript gir denne artikkelen noen fine, små triks som du automatisk kan løfte ved å bruke ShellExecute “runas” -parameteren.

( Se også Hvordan løfte en batch-fil automatisk for å kjøre den som administrator? For en annen automatisk hevingsmetode.)

Start et Vbscript forhøyet

Takk til Jim Barry for å ha tipset meg om bruk av runas- argumentet i ShellExecute- metoden til Shell.Application-objektet. Ved å bruke Jims forslag ble det originale manuset mitt kondensert til en god del. Bruk en av disse metodene for å kjøre VBScripts forhøyet.

Metode 1

Her er et eksempelskript som starter opp seg selv som administrator (forhøyet) ved å bruke runas- parameteren, hvis skriptet ikke har gitt kommandolinjeargumenter. Når du starter lanseringen av skriptet som administrator, bare pass på et falskt argument slik at skriptet ikke kjøres i en syklisk sløyfe.

 Hvis WScript.Arguments.length = 0 Still deretter objShell = CreateObject ("Shell.Application") 'Gi et falskt argument, si [uac] objShell.ShellExecute "wscript.exe", Chr (34) & _ WScript.ScriptFullName & Chr (34) & "uac", "", "runas", 1 Ellers 'Legg til koden din her End If 

Metode 2

Denne metoden bruker et launcher script som kjører hoved VBScript forhøyet ved hjelp av runas verbet.

Set objShell = CreateObject("Shell.Application") Set FSO = CreateObject("Scripting.FileSystemObject") strPath = FSO.GetParentFolderName (WScript.ScriptFullName) If FSO.FileExists(strPath & "\MAIN.VBS") Then objShell.ShellExecute "wscript.exe", _ Chr(34) & strPath & "\MAIN.VBS" & Chr(34), "", "runas", 1 Else MsgBox "Script file MAIN.VBS not found" End If 

Du vil se UAC elevasjonsdialogen.

Når brukeren klikker Fortsett for å godkjenne, blir hovedskriptet lansert som administrator.

RELATERT: Hvordan løfte en batch-fil automatisk for å kjøre den som administrator?

Redaksjonens