Kun Windows Vista -käyttöjärjestelmä (UAC) otetaan käyttöön, avaat yleensä korotetun komentokehotteen suorittaaksesi erätiedostoja ja komentosarjoja, jotka tarvitsevat järjestelmänvalvojan oikeuksia. Sovellukset voivat käyttää manifestitiedostoja (käyttämällä RequireAdministrator -lippua) suorittaaksesi korotetut automaattisesti.
Skripteille tämä artikkeli tarjoaa joitain siistiä pieniä temppuja, joiden avulla voit korottaa automaattisesti ShellExecute “runas” -parametrilla.
( Katso myös Kuinka nostaa erä automaattisesti tiedostoon suorittamalla se järjestelmänvalvojana? Toista automaattisen korotuksen menetelmää varten.)
Käynnistä Vbscript koholla
Kiitos Jim Barrylle, että hän tipisti minut käyttämään runas- argumenttia Shell.Application -objektin ShellExecute- menetelmässä. Jimin ehdotuksia käyttämällä alkuperäinen skriptini tiivistettiin suureksi osaksi. Käytä yhtä näistä menetelmistä suorittaaksesi korotetut VBScriptit.
Menetelmä 1
Tässä on esimerkki komentosarjasta, joka käynnistää itsensä uudelleen järjestelmänvalvojana (korotettuna) käyttämällä runas- parametria, jos komentosarjalla ei ole annettu komentoriviargumentteja. Kun käynnistät skriptin uudelleen järjestelmänvalvojana, lähetä vain väärä argumentti, jotta skripti ei toimi syklisessä silmukassa.
Jos WScript.Arguments.length = 0, aseta sitten objShell = CreateObject ("Shell.Application") 'Välitä väärä argumentti, sano [uac] objShell.ShellExecute "wscript.exe", Chr (34) & _ WScript.ScriptFullName & Chr (34) & "uac", "", "runas", 1 Else 'Lisää koodi tähän Lopeta If
Menetelmä 2
Tämä menetelmä käyttää kantorakettiohjelmaa, joka suorittaa korotetun VBScript- pääkomennon runan verbilla .
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
Näet UAC-korkeusikkunan.
Kun käyttäjä napsauttaa Jatka hyväksyntää, pääkäsikirjoitus käynnistetään järjestelmänvalvojana.
LIITTYVÄT: Kuinka nostaa erä automaattisesti tiedostoa ajamalla sitä järjestelmänvalvojana?