Windows Tips & News

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

4 antwoorden

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.

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:

Credits voor deze code ga naar Mat.

Google Chrome krijgt een verbeterd Brotli-compressiealgoritme

Google Chrome krijgt een verbeterd Brotli-compressiealgoritme

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

Lees verder

Windows 11 Cortana verwijderen voor huidige of alle gebruikers

Windows 11 Cortana verwijderen voor huidige of alle gebruikers

Hier leest u hoe u Cortana in Windows 11 kunt verwijderen voor het geval u de digitale assistent ...

Lees verder

Microsoft hernoemt Performance Mode in Efficiency Mode in Edge

Microsoft hernoemt Performance Mode in Efficiency Mode in Edge

In april 2021, Microsoft heeft details gedeeld over de nieuwe prestatiemodus die binnenkort naar ...

Lees verder