Ako automaticky povýšiť dávkový súbor na spustenie ako správca
Niekedy je potrebné vytvoriť dávkový súbor, ktorý obsahuje príkazy vyžadujúce zvýšené práva. Vďaka funkcii UAC, ktorá je súčasťou systému Windows od systému Windows Vista, sa pri spustení dávkového súboru otvorí bez požadované prístupové práva, pokiaľ naň nekliknete pravým tlačidlom a z kontextu nevyberiete možnosť „Spustiť ako správca“. Ponuka. Tu je návod, ako môžete vytvoriť dávkový súbor, ktorý sa automaticky zvýši.
Reklama
Než budete pokračovať, pozri ako pridať dávkový súbor (*.bat) do nového menu Prieskumníka. Na začiatok dávkového súboru umiestnite nasledujúci obsah:
:: Automaticky skontrolovať a získať práva správcu V2. @echo vypnuté. CLS. ECHO. ECHO ECHO Spustený administrátorský shell. ECHO: init. setlocal DisableDelayedExpansion. nastaviť "batchPath=%~0" pre %%k v (%0) nastavte názov dávky=%%~nk. nastaviť "vbsGetPrivileges=%temp%\OEgetPriv_%batchName%.vbs" setlocal EnableDelayedExpansion :checkPrivileges. ČISTÝ SÚBOR 1>NUL 2>NUL. if '%errorlevel%' == '0' ( goto gotPrivileges ) else ( goto getPrivileges ) :getPrivileges. if '%1'=='ELEV' (echo ELEV & shift /1 & goto gotPrivileges) ECHO. ECHO ********************************************* ECHO vyvoláva UAC pre eskaláciu privilégií. ECHO **************************************** ECHO Set UAC = CreateObject^("Shell. Aplikácia"^) > "%vbsGetPrivileges%" ECHO args = "ELEV " >> "%vbsGetPrivileges%" ECHO pre každý strArg vo WScript. Argumenty >> "%vbsGetPrivileges%" ECHO args = args ^& strArg ^& " " >> "%vbsGetPrivileges%" ECHO Ďalej >> "%vbsGetPrivileges%" ECHO UAC.ShellExecute "!batchPath!", args, "", "runas", 1 >> "%vbsGetPrivileges%" "%SystemRoot%\System32\WScript.exe" "%vbsGetPrivileges%" %* exit /B :gotPrivileges. setlocal & pushd. cd/d %~dp0. if '%1'=='ELEV' (del "%vbsGetPrivileges%" 1>nul 2>nul & shift /1) ::START. REM Spustite shell ako admin (príklad) - sem vložte kód, ako chcete. ECHO %batchName% Argumenty: %1 %2 %3 %4 %5 %6 %7 %8 %9.
Umiestnite svoje vlastné dávkové príkazy, ktoré vyžadujú nadmorskú výšku pod posledný riadok.
Poskytnutý kód vytvorí špeciálny súbor VBS, ktorý ho reštartuje, ak nie je spustený ako správca. Ak ho teda spustíte s obmedzenými povoleniami, zobrazí sa výzva UAC, ktorá vás požiada o zvýšenie privilégií skôr, ako spustí svoje príkazy!
Takto to vyzerá v systéme Windows 10:
Kredity za tento kód idú na Matt.