Kā automātiski paaugstināt pakešfailu, lai to palaistu kā administratoru
Dažreiz jums ir jāizveido sērijveida fails, kurā ir iekļautas komandas, kurām nepieciešamas paaugstinātas tiesības. Sakarā ar UAC funkciju, kas iekļauta sistēmā Windows kopš Windows Vista, startējot pakešfailu, tas tiek atvērts bez nepieciešamās piekļuves tiesības, ja vien nenoklikšķināt uz tās ar peles labo pogu un kontekstā neatlasāt "Palaist kā administratoram". izvēlne. Lūk, kā varat izveidot pakešfailu, kas automātiski paaugstināsies.
Reklāma
Pirms turpināt, skatiet kā pievienot sērijveida failu (*.bat) File Explorer jaunajai izvēlnei. Ievietojiet šādu saturu pakešfaila sākumā:
:: Automātiski pārbaudīt un iegūt administratora tiesības V2. @echo izslēgts. CLS. ECHO. ECHO ECHO darbojas administratora apvalks. ECHO :init. setlocal DisableDelayedExpansion. iestatīt "batchPath=%~0" %%k in (%0) iestatiet batchName=%%~nk. iestatīt "vbsGetPrivileges=%temp%\OEgetPriv_%batchName%.vbs" setlocal EnableDelayedExpansion :checkPrivileges. NETO FILE 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 izsauc UAC privilēģiju eskalācijai. ECHO *************************************** ECHO Set UAC = CreateObject^("Shell. Lietojumprogramma"^) > "%vbsGetPrivileges%" ECHO args = "ELEV " >> "%vbsGetPrivileges%" ECHO katram WScript strArg. Argumenti >> "%vbsGetPrivileges%" ECHO args = args ^& strArg ^& " " >> "%vbsGetPrivileges%" ECHO Nākamais >> "%vbsGetPrivileges%" ECHO UAC.ShellExecute "!batchPath!", args, "", "runas", 1 >> "%vbsGetPrivileges%" "%SystemRoot%\System32\WScript.exe" "%vbsGetPrivileges%" %* iziet /B :gotPrivileges. setlocal & pushd. cd /d %~dp0. if '%1'=='ELEV' (del "%vbsGetPrivileges%" 1> nul 2> nul & shift /1) ::START. REM Palaidiet čaulu kā administratoru (piemērs) - ievietojiet šeit kodu, kā vēlaties. ECHO %batchName% Argumenti: %1 %2 %3 %4 %5 %6 %7 %8 %9.
Novietojiet savas partijas komandas, kurām nepieciešams paaugstinājums zem pēdējās rindas.
Norādītais kods izveidos īpašu VBS failu, kas to restartēs, ja tas nedarbosies kā administrators. Tātad, ja palaižat to ar ierobežotām atļaujām, jūs saņemsit UAC uzvedni, kurā tiks lūgts paaugstināt privilēģijas, pirms tas palaiž savas komandas!
Lūk, kā tas izskatās operētājsistēmā Windows 10:
Kredīti par šo kodu tiek piešķirti Matt.