Windows Tips & News

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

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

Windows 10 build 20231 bevat de geheel nieuwe OOBE-ervaring van Windows 10X

Gisteren heeft Microsoft Windows 10 build 20231 uitgebracht en ook ISO-images geleverd voor een s...

Lees verder

Windows 10 Build 17713 komt uit met nieuwe functies

Windows 10 Build 17713 komt uit met nieuwe functies

Microsoft geeft Windows 10 Insider Preview Build 17713 vrij van de "Redstone 5" -tak naar Windows...

Lees verder

Microsoft kan het uiterlijk van Windows 10 vernieuwen met WinUI 3

Microsoft kan het uiterlijk van Windows 10 vernieuwen met WinUI 3

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

Lees verder