Windows Tips & News

Sådan hæver du automatisk en batchfil for at køre den som administrator

4 svar

Nogle gange skal du oprette en batch-fil, som indeholder kommandoer, der kræver forhøjede rettigheder. På grund af UAC-funktionen inkluderet i Windows siden Windows Vista, åbnes den uden at starte en batchfil de nødvendige adgangsrettigheder, medmindre du højreklikker på det og vælger "Kør som administrator" fra konteksten menu. Her er, hvordan du kan oprette en batch-fil, som automatisk løfter sig selv.

Før du fortsætter, se hvordan man tilføjer batchfil (*.bat) til Ny menu i File Explorer. Placer følgende indhold i begyndelsen af ​​din batchfil:

:: Kontroller og få automatisk administratorrettigheder V2. @ekko slukket. CLS. EKKO. ECHO ECHO Running Admin shell. ECHO :init. setlocal DisableDelayedExpansion. sæt "batchPath=%~0" for %%k i (%0) skal du indstille batchName=%%~nk. sæt "vbsGetPrivileges=%temp%\OEgetPriv_%batchName%vbs" setlocal EnableDelayedExpansion :checkPrivileges. NET FIL 1>NUL 2>NUL. if '%errorlevel%' == '0' (goto gotPrivileges) else (goto getPrivileges):getPrivileges. hvis '%1'=='ELEV' (ekko ELEV & skift /1 & goto gotPrivileges) EKKO. EKKO ************************************** ECHO påberåber UAC for Privilege Escalation. ECHO ************************************** ECHO Set UAC = CreateObject^("Shell. Applikation"^) > "%vbsGetPrivileges%" ECHO args = "ELEV " >> "%vbsGetPrivileges%" EKKO for hver strArg i WScript. Argumenter >> "%vbsGetPrivileges%" ECHO args = args ^& strArg ^& " " >> "%vbsGetPrivileges%" ECHO Næste >> "%vbsGetPrivileges%" ECHO UAC.ShellExecute "!batchPath!", args, "", "runas", 1 >> "%vbsGetPrivileges%" "%SystemRoot%\System32\WScript.exe" "%vbsGetPrivileges%" %* exit /B :gotPrivileges. indstil lokalt & skubbet. cd /d %~dp0. if '%1'=='ELEV' (del "%vbsGetPrivileges%" 1>nul 2>nul & shift /1) ::START. REM Kør shell som admin (eksempel) - indsæt kode her, som du vil. ECHO %batchName% Argumenter: %1 %2 %3 %4 %5 %6 %7 %8 %9.

Placer dine egne batch-kommandoer, som kræver elevation under den sidste linje.

Den medfølgende kode vil oprette en speciel VBS-fil, som genstarter den, hvis den ikke kører som administrator. Så hvis du starter den med begrænsede tilladelser, vil du få en UAC-prompt, der beder dig om at hæve privilegier, før den kører sine kommandoer!

Sådan ser det ud i Windows 10:

Credits for denne kode går til Matt.

Windows 11 Build 22624.1610 (Beta) leveres med tilstedeværelsesregistreringsmuligheder

Windows 11 Build 22624.1610 (Beta) leveres med tilstedeværelsesregistreringsmuligheder

ANBEFALEDE: Klik her for at løse Windows-problemer og optimere systemets ydeevneKB5025299 bringer...

Læs mere

Release Preview Insiders modtager nye opdateringer

ANBEFALEDE: Klik her for at løse Windows-problemer og optimere systemets ydeevneUdover det nye Be...

Læs mere

HoloLens 2 modtager Windows 11 som en gratis valgfri opgradering

HoloLens 2 modtager Windows 11 som en gratis valgfri opgradering

ANBEFALEDE: Klik her for at løse Windows-problemer og optimere systemets ydeevneIfølge de seneste...

Læs mere