Ponekad trebate stvoriti batch datoteku koja uključuje naredbe koje zahtijevaju povišena prava. Zbog funkcije UAC koja je u sustavu Windows uključena od sustava Windows Vista, kada se pokrene batch datoteka, ona se otvara bez potrebnih prava pristupa, osim ako je kliknete desnom tipkom i na kontekstnom izborniku odaberete 'Pokreni kao administrator'. Evo kako možete stvoriti batch datoteku koja će se automatski podići.
Oglas
Prije nego što nastavite, pogledajte kako dodati batch datoteku (* .bat) u novi izbornik File Explorera . Na početak svoje batch datoteke stavite sljedeći sadržaj:
kada izlaze svici starijih 6
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: administratorska prava V2 :::::::::::::::::::::::::::::::::::::::::: @ echo off CLS ECHO. ECHO ============================= ECHO Pokretanje administrativne ljuske ECHO =============== ==============: init setlocal DisableDelayedExpansion set 'batchPath =% ~ 0' za %% k u (% 0) do set batchName = %% ~ nk set 'vbsGetPrivileges =% temp% OEgetPriv_% batchName% .vbs 'setlocal EnableDelayedExpansion: checkPrivileges NET FILE 1> NUL 2> NUL ako je'% errorlevel% '==' 0 '(goto gotPrivileges) else (goto getPrivileges): getPrivileges if'% 1 '==' ELEV '(eho ELEV & shift / 1 & goto gotPrivileges) ECHO. ECHO ************************************** ECHO Pozivanje UAC-a za eskalaciju privilegija ECHO **** ********************************** ECHO Postavi UAC = CreateObject ^ ('Shell.Application' ^)> ' % vbsGetPrivileges% 'ECHO args =' ELEV '>>'% vbsGetPrivileges% 'ECHO Za svaki strArg u WScript.Arguments >>'% vbsGetPrivileges% 'ECHO args = args ^ & strArg ^ &' '>>'% vbsGetPrivileges% ' ECHO Sljedeće >> '% vbsGetPrivileges%' ECHO UAC.ShellExecute '! BatchPath!', Args, '', 'runas', 1 >> '% vbsGetPrivileges%' '% SystemRoot% System32 WScript.exe' '% vbsGetPrivileges % '% * exit / B: gotPrivileges setlocal & pushd. cd / d% ~ dp0 ako je '% 1' == 'ELEV' (del '% vbsGetPrivileges%' 1> nul 2> nul & shift / 1) :::::::::::::::: :::::::::::: :: START ::::::::::::::::::::::::::: REM Pokreni školjku kao admin (primjer ) - ovdje stavite kod kako želite ECHO% batchName% Argumenti:% 1% 2% 3% 4% 5% 6% 7% 8% 9
Postavite vlastite batch naredbe koje zahtijevaju povišenje ispod zadnjeg retka.
Navedeni kod stvorit će posebnu VBS datoteku koja će je ponovno pokrenuti ako se ne izvodi kao Administrator. Dakle, ako ga pokrenete s ograničenim dozvolama, dobit ćete UAC upit u kojem se traži da povisite privilegije prije nego što pokrene svoje naredbe!
Evo kako to izgleda u sustavu Windows 10:
Zasluge za ovaj kod idu na Matt .