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.

Windows 10 netværksarkiver

HomeGroup-funktionen er en forenklet løsning fra Microsoft, der giver mulighed for fildeling mell...

Læs mere

Opret genvej til Wi-Fi-indstillinger i Windows 10

Opret genvej til Wi-Fi-indstillinger i Windows 10

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

Læs mere

Windows 10 omdøb netværksprofilen Arkiver

Denne hjemmeside bruger cookies til at forbedre din oplevelse, mens du navigerer gennem hjemmesid...

Læs mere