Soms moet u een batchbestand maken met opdrachten 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 het contextmenu. Hier is hoe u een batchbestand kunt maken dat zichzelf automatisch zal verheffen.
Advertentie
Zie voordat u verder gaat hoe u een batchbestand (* .bat) toevoegt aan het nieuwe menu van de bestandsverkenner . Plaats de volgende inhoud aan het begin van uw batchbestand:
hoe de taal op amazon te veranderen
::::::::::::::::::::::::::::::::::::::::::: :: Automatisch controleren en ophalen admin rechten V2 ::::::::::::::::::::::::::::::::::::::::::: @echo uit CLS ECHO. ECHO ============================= ECHO Running Admin shell ECHO ================= ==============: init setlocal DisableDelayedExpansion set 'batchPath =% ~ 0' voor %% k in (% 0) set batchName = %% ~ nk set 'vbsGetPrivileges =% temp% OEgetPriv_% batchName% .vbs 'setlocal EnableDelayedExpansion: checkPrivileges NET FILE 1> NUL 2> NUL if'% errorlevel% '==' 0 '(ga naar gotPrivileges) anders (ga naar getPrivileges): getPrivileges als'% 1 '==' ELEV '(echo ELEV & shift / 1 & ga naar gotPrivileges) ECHO. ECHO *************************************** ECHO Aanroepen van UAC voor Privilege-escalatie ECHO **** *********************************** ECHO Set UAC = CreateObject ^ ('Shell.Application' ^)> ' % vbsGetPrivileges% 'ECHO args =' ELEV '>>'% vbsGetPrivileges% 'ECHO voor elke strArg in WScript.Arguments >>'% vbsGetPrivileges% 'ECHO args = args ^ & strArg ^ &' '>>'% vbsGetivileges% ' 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 Run shell als admin (voorbeeld ) - plaats hier de code zoals u wilt ECHO% batchName% Argumenten:% 1% 2% 3% 4% 5% 6% 7% 8% 9
Plaats uw eigen batchopdrachten die een hoogte vereisen onder de laatste regel.
De verstrekte code zal een speciaal VBS-bestand maken dat het herstart als het niet als Administrator draait. Dus als u het start met beperkte machtigingen, krijgt u een UAC-prompt waarin u wordt gevraagd de rechten te verhogen voordat het de opdrachten uitvoert!
Hier is hoe het eruit ziet in Windows 10:
Credits voor deze code gaan naar Mat .