Windows Tips & News

Hoe een batchbestand automatisch te verhogen om het als beheerder uit te voeren

click fraud protection
AANBEVOLEN: Klik hier om Windows-problemen op te lossen en de systeemprestaties te optimaliseren

Soms moet u een batchbestand maken dat opdrachten bevat waarvoor verhoogde rechten vereist zijn. Vanwege de UAC-functie die sinds Windows Vista in Windows is opgenomen, wordt bij het starten van een batchbestand het geopend zonder de vereiste toegangsrechten, tenzij u er met de rechtermuisknop op klikt en "Uitvoeren als beheerder" selecteert in de context menu. Hier leest u hoe u een batchbestand kunt maken dat zichzelf automatisch verheft.

Advertentie


Voordat je verder gaat, zie hoe Batch-bestand (*.bat) toe te voegen aan Nieuw menu van Verkenner. Plaats de volgende inhoud aan het begin van uw batchbestand:
:: Automatisch controleren en beheerdersrechten verkrijgen V2. @echo uit. CLS. ECHO. ECHO ECHO Beheerdersshell uitvoeren. ECHO: init. setlocal DisableDelayedExpansion. stel "batchPath=%~0" in stel voor %%k in (%0) batchName=%%~nk in. stel "vbsGetPrivileges=%temp%\OEgetPriv_%batchName%.vbs" in setlocal EnableDelayedExpansion :checkPrivileges. NET BESTAND 1>NUL 2>NUL. if '%errorlevel%' == '0' ( ga naar gotPrivileges ) else ( ga naar getPrivileges ): getPrivileges. if '%1'=='ELEV' (echo ELEV & shift /1 & ga naar privileges) ECHO. ECHO ************************************ ECHO beroept zich op UAC voor escalatie van bevoegdheden. ECHO ************************************ ECHO Stel UAC = CreateObject^("Shell. Toepassing"^) > "%vbsGetPrivileges%" ECHO args = "ELEV " >> "%vbsGetPrivileges%" ECHO voor elke strArg in WScript. Argumenten >> "%vbsGetPrivileges%" ECHO argumenten = argumenten ^& strArg ^& " " >> "%vbsGetPrivileges%" ECHO Volgende >> "%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 Voer shell uit als admin (voorbeeld) - plaats hier code zoals je wilt. ECHO %batchName% Argumenten: %1 %2 %3 %4 %5 %6 %7 %8 %9.

Plaats uw eigen batchcommando's die een verhoging vereisen onder de laatste regel.

De verstrekte code maakt een speciaal VBS-bestand aan dat het opnieuw zal opstarten als het niet als beheerder wordt uitgevoerd. Dus als u het start met beperkte machtigingen, krijgt u een UAC-prompt waarin u wordt gevraagd om de privileges te verhogen voordat het zijn opdrachten uitvoert!

Zo ziet het eruit in Windows 10:Windows 10 batchbestand

Windows 10 batchbestand UAC-verzoek

Windows 10 verhoogt automatisch een batchbestandCredits voor deze code ga naar Mat.

AANBEVOLEN: Klik hier om Windows-problemen op te lossen en de systeemprestaties te optimaliseren

Edge Grammatica Tools Archieven

Met recente updates heeft Microsoft Edge een nieuwe optie gekregen voor de grammaticahulpmiddelen...

Lees verder

Edge Canary ontvangt bijwoordherkenning voor grammaticahulpmiddelen

Edge Canary ontvangt bijwoordherkenning voor grammaticahulpmiddelen

Met recente updates heeft Microsoft Edge een nieuwe optie gekregen voor de grammaticahulpmiddelen...

Lees verder

Transparantie-effecten in- of uitschakelen in Windows 10

Transparantie-effecten in- of uitschakelen in Windows 10

AANBEVOLEN: Klik hier om Windows-problemen op te lossen en de systeemprestaties te optimaliserenT...

Lees verder