Windows Tips & News

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

click fraud protection
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.

Deaktiver skrivebordseksempler for proceslinje Live-miniaturebilleder i Windows 10

Deaktiver skrivebordseksempler for proceslinje Live-miniaturebilleder i Windows 10

ANBEFALEDE: Klik her for at løse Windows-problemer og optimere systemets ydeevneSådan deaktiveres...

Læs mere

Gør proceslinjen fuldstændig gennemsigtig med sløring i Windows 10

Gør proceslinjen fuldstændig gennemsigtig med sløring i Windows 10

ANBEFALEDE: Klik her for at løse Windows-problemer og optimere systemets ydeevneSom standard leve...

Læs mere

Deaktiver proceslinjens miniaturecache i Windows 10

Deaktiver proceslinjens miniaturecache i Windows 10

Sådan aktiveres eller deaktiveres Gem proceslinjeminiaturer til cache i Windows 10I Windows 10, n...

Læs mere