Kuinka nostaa erätiedosto automaattisesti, jotta se voidaan suorittaa järjestelmänvalvojana
Joskus sinun on luotava erätiedosto, joka sisältää komennot, jotka edellyttävät korotettuja oikeuksia. Johtuen UAC-toiminnosta, joka sisältyy Windowsiin Windows Vistasta lähtien, kun komentotiedosto käynnistetään, se avautuu ilman tarvittavat käyttöoikeudet, ellet napsauta sitä hiiren kakkospainikkeella ja valitse kontekstista "Suorita järjestelmänvalvojana". valikosta. Näin voit luoda erätiedoston, joka nostaa itsensä automaattisesti.
Mainos
Ennen kuin jatkat, katso kuinka lisätä erätiedosto (*.bat) Resurssienhallinnan uuteen valikkoon. Sijoita seuraava sisältö erätiedoston alkuun:
:: Tarkista automaattisesti ja hanki järjestelmänvalvojan oikeudet V2. @kaiku pois. CLS. KAIKU. ECHO ECHO Käynnissä oleva Admin-kuori. ECHO :init. setlocal DisableDelayedExpansion. aseta "batchPath=%~0" %%k: lle (%0) aseta batchName=%%~nk. aseta "vbsGetPrivileges=%temp%\OEgetPriv_%batchName%.vbs" setlocal EnableDelayedExpansion :checkPrivileges. NETTOTIEDOSTO 1>NUL 2>NUL. if '%errorlevel%' == '0' ( goto gotPrivileges ) else ( goto getPrivileges ) :getPrivileges. if '%1'=='ELEV' (echo ELEV & shift /1 & goto gotPrivileges) KAIKU. ECHO ***************************************** ECHO kutsuu UAC: tä etuoikeuksien eskalointiin. ECHO **************************************** ECHO Set UAC = CreateObject^("Shell. Sovellus"^) > "%vbsGetPrivileges%" ECHO args = "ELEV " >> "%vbsGetPrivileges%" ECHO jokaiselle strArgille WScriptissa. Argumentit >> "%vbsGetPrivileges%" ECHO args = args ^& strArg ^& " " >> "%vbsGetPrivileges%" ECHO Seuraava >> "%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' (poista "%vbsGetPrivileges%" 1>nul 2>nul & shift /1) ::START. REM Suorita komentotulkki järjestelmänvalvojana (esimerkki) - laita tähän koodi haluamallasi tavalla. ECHO %batchName% Argumentit: %1 %2 %3 %4 %5 %6 %7 %8 %9.
Aseta omat eräkomennot, jotka vaativat korotuksen viimeisen rivin alapuolelle.
Annettu koodi luo erityisen VBS-tiedoston, joka käynnistää sen uudelleen, jos se ei ole käynnissä järjestelmänvalvojana. Joten jos käynnistät sen rajoitetuilla käyttöoikeuksilla, saat UAC-kehotteen, joka pyytää sinua nostamaan käyttöoikeuksia ennen kuin se suorittaa komentojaan!
Tältä se näyttää Windows 10:ssä:
Tämän koodin hyvitykset menevät osoitteeseen Matta.