Kako samodejno povišati paketno datoteko, da jo zaženete kot skrbnik
Včasih morate ustvariti paketno datoteko, ki vključuje ukaze, ki zahtevajo povišane pravice. Zaradi funkcije UAC, ki je vključena v operacijski sistem Windows od Windows Vista, se ob zagonu paketne datoteke odpre brez zahtevane pravice dostopa, razen če ga z desno miškino tipko kliknete in v kontekstnem oknu izberete »Zaženi kot skrbnik«. meni. Tukaj je opisano, kako lahko ustvarite paketno datoteko, ki se bo samodejno dvignila.
Preden nadaljujete, poglejte kako dodati paketno datoteko (*.bat) v nov meni Raziskovalca datotek. Na začetek paketne datoteke postavite naslednjo vsebino:
:: Samodejno preverite in pridobite skrbniške pravice V2. @odmev izklopljen. CLS. ECHO. ECHO ECHO Zagon skrbniške lupine. ECHO :init. setlocal DisableDelayedExpansion. nastavite "batchPath=%~0" za %%k v (%0) nastavite batchName=%%~nk. nastavite "vbsGetPrivileges=%temp%\OEgetPriv_%batchName%.vbs" setlocal EnableDelayedExpansion :checkPrivileges. NETO DATOTEKA 1>NUL 2>NUL. če '%errorlevel%' == '0' ( pojdi gotPrivileges ) drugače ( pojdi na getPrivileges ) :getPrivileges. če '%1'=='ELEV' (odmeva ELEV & shift /1 in pojdi gotPrivileges) ECHO. ECHO ************************************** ECHO klic UAC za povečanje privilegijev. ECHO ************************************** ECHO Nastavi UAC = CreateObject^("Shell. Aplikacija"^) > "%vbsGetPrivileges%" ECHO args = "ELEV " >> "%vbsGetPrivileges%" ECHO Za vsak strArg v WScript. Argumenti >> "%vbsGetPrivileges%" ECHO args = args ^& strArg ^& " " >> "%vbsGetPrivileges%" ECHO Naprej >> "%vbsGetPrivileges%" ECHO UAC.ShellExecute "!batchPath!", args, "", "runas", 1 >> "%vbsGetPrivileges%" "%SystemRoot%\System32\WScript.exe" "%vbsGetPrivileges%" %* izhod /B :gotPrivileges. setlocal & pushd. cd /d %~dp0. če '%1'=='ELEV' (del "%vbsGetPrivileges%" 1>nul 2>nul & shift /1) ::START. REM Zaženi lupino kot skrbnik (primer) - vnesite kodo, kot želite. ECHO %batchName% Argumenti: %1 %2 %3 %4 %5 %6 %7 %8 %9.
Pod zadnjo vrstico postavite lastne paketne ukaze, ki zahtevajo višino.
Predložena koda bo ustvarila posebno datoteko VBS, ki jo bo znova zagnala, če se ne izvaja kot skrbnik. Torej, če ga zaženete z omejenimi dovoljenji, boste prejeli poziv UAC, ki zahteva, da povišate privilegije, preden zažene svoje ukaze!
Takole izgleda v sistemu Windows 10: