Pakettfailide käsitsi tõstmiseks paremklõpsake sellel ja valige Käivita administraatorina. Siin on viis pakkefaili automaatseks tõstmiseks, mille korrektseks käitamiseks on vaja kõrgendatud õigusi. See on samaväärne "Käivita administraatorina" valimisega, kui paremklõpsake pakkfailil. Mõlemal juhul kuvatakse endiselt UAC-viip.
Pakkfaili automaatne tõstmine
:::::::::::::::::::::::::::::::::::::::::::: :: Automatically check & get admin rights V2 :::::::::::::::::::::::::::::::::::::::::::: @echo off CLS ECHO. ECHO ============================= ECHO Running Admin shell ECHO ============================= :init setlocal DisableDelayedExpansion set "batchPath=%~0" for %%k in (%0) do set batchName=%%~nk set "vbsGetPrivileges=%temp%\OEgetPriv_%batchName%.vbs" setlocal EnableDelayedExpansion :checkPrivileges NET 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 Invoking UAC for Privilege Escalation ECHO ************************************** ECHO Set UAC = CreateObject^("Shell.Application"^)>"%vbsGetPrivileges%" ECHO args = "ELEV ">>"%vbsGetPrivileges%" ECHO For Each strArg in WScript.Arguments>>"%vbsGetPrivileges%" ECHO args = args ^& strArg ^& " ">>"%vbsGetPrivileges%" ECHO Next>>"%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 Run shell as admin (example) - put here code as you like ECHO %batchName% Arguments: %1 %2 %3 %4 %5 %6 %7 %8 %9 cmd /k
Lisage oma juhised sellele .bat-failile sildi „START” alla.
See pakkfail loob Vbscripti faili, mis seejärel taaskäivitab pakettfaili administraatorina (kui see juba ei tööta administraatori õigustega), kasutades parameetri “runas”, mida on vaja selle tõstmiseks. Vbscripti ja “runade” meetodit on käsitletud minu vanas postituses Vbscriptid ja UAC-i tõus Windows Vista ja kõrgemates versioonides.
Selle meetodi jaoks antakse krediiti Mattile virna ülevoolu korral. aknad - kuidas saan oma pakkfaili automaatselt tõsta, et see vajadusel nõuaks UAC-i administraatori õigusi?
Pakkfailide käitamine vaikimisi tõstetud
Lisaks ülaltoodud automaatsele tõusumeetodile saate kliendi poolelt registrit näpistada, nii et pakettfailid hakkaksid alati kõrgendatud olema, näidates UAC-viipat. Selleks tuleb registris topeltklõpsu vaikimisi toiming asendada “avatud” ja “runadeks”. Kasutage neid samme:
Käivitage Regedit.exe ja minge järgmisesse asukohta:
HKEY_CLASSES_ROOT \ batfile \ kest
Topeltklõpsake (vaikimisi) ja määrake selle väärtuse andmed runadeks
Väljuge registriredaktorist.
Pärast seda muudatust toimivad topeltklõpsamisel pakkfailid alati kõrgemal. Käivita administraatorina oleks vaikesuvand, mida kuvatakse, kui teete .bat-failil paremklõpsu.