Windows Tips & News

Kaip automatiškai pakelti paketinį failą, kad jis būtų paleistas kaip administratorius

4 atsakymai

Kartais reikia sukurti paketinį failą, kuriame būtų komandos, kurioms reikalingos padidintos teisės. Dėl UAC funkcijos, įtrauktos į Windows nuo Windows Vista, paleidus paketinį failą jis atidaromas be reikalingos prieigos teisės, nebent dešiniuoju pelės mygtuku spustelėkite jį ir kontekste nepasirinksite „Vykdyti kaip administratoriui“. Meniu. Štai kaip galite sukurti paketinį failą, kuris automatiškai pakils.

Prieš tęsdami, žr kaip įtraukti paketinį failą (*.bat) į naują failų naršyklės meniu. Įdėkite šį turinį paketinio failo pradžioje:

:: Automatiškai patikrinti ir gauti administratoriaus teises V2. @echo išjungtas. CLS. ECHO. ECHO ECHO Veikia administratoriaus apvalkalas. ECHO :init. setlocal DisableDelayedExpansion. nustatyti "batchPath=%~0" %%k (%0) nustatykite batchName=%%~nk. nustatyti "vbsGetPrivileges=%temp%\OEgetPriv_%batchName%.vbs" setlocal EnableDelayedExpansion :checkPrivilegijos. NET FILE 1> NUL 2> NUL. if '%errorlevel%' == '0' ( goto gotPrivileges ) else ( goto getPrivileges ): getPrivilegijos. if '% 1'=='ELEV' (echo ELEV & shift /1 & goto gotPrivilegijos) ECHO. ECHO ***************************************** ECHO pasitelkia UAC privilegijų eskalavimui. ECHO *************************************** ECHO Set UAC = CreateObject^("Shell. Programa"^) > "%vbsGetPrivileges%" ECHO args = "ELEV " >> "%vbsGetPrivileges%" ECHO Kiekvienam strArg WScript. Argumentai >> "%vbsGetPrivileges%" ECHO args = args ^& strArg ^& " " >> "%vbsGetPrivilegijos%" ECHO Kitas >> "%vbsGetPrivileges%" ECHO UAC.ShellExecute "!batchPath!", args, "", "runas", 1 >> "%vbsGetPrivileges%" "%SystemRoot%\System32\WScript.exe" "%vbsGetPrivileges%" %* išeiti /B :gotPrivilegijos. setlocal & pushd. cd /d %~dp0. if '%1'=='ELEV' (del "%vbsGetPrivileges%" 1>nul 2>nul & shift /1) ::START. REM Vykdykite apvalkalą kaip administratorių (pavyzdys) - įdėkite čia kodą, kaip norite. ECHO %batchName% Argumentai: %1 %2 %3 %4 %5 %6 %7 %8 %9.

Įdėkite savo paketines komandas, kurias reikia pakelti žemiau paskutinės eilutės.

Pateiktas kodas sukurs specialų VBS failą, kuris bus paleistas iš naujo, jei jis neveikia kaip administratorius. Taigi, jei paleisite jį turėdami ribotus leidimus, prieš paleisdami komandas gausite UAC raginimą, kuriame bus prašoma padidinti privilegijas!

Štai kaip tai atrodo „Windows 10“:

Kreditai už šį kodą atitenka Matt.

Pridėti išjungimo kontekstinį meniu „Windows 10“.

Pridėti išjungimo kontekstinį meniu „Windows 10“.

Pradedant nuo „Windows 10 Fall Creators Update“, operacinė sistema gali automatiškai iš naujo ati...

Skaityti daugiau

„Microsoft Edge“ gauna „Įterpti kaip nuorodą“ už nukopijuotus URL

„Microsoft Edge“ gauna „Įterpti kaip nuorodą“ už nukopijuotus URL

„Edge“ naršyklės komanda paskelbė apie naują funkciją, kuri praplečia naršyklės įklijavimo funkci...

Skaityti daugiau

Edge Dev 86.0.608.2 suteikia tamsaus režimo patobulinimų ir pataisymų

Edge Dev 86.0.608.2 suteikia tamsaus režimo patobulinimų ir pataisymų

Palikti atsakymą„Microsoft“ išleido „Edge 86.0.608.2“ kūrėjo kanalo vartotojams. Atnaujinimas pas...

Skaityti daugiau