Како аутоматски подићи батцх датотеку да бисте је покренули као администратор?

2018-08-18 05:27:54
Главни·Microsoft·Како аутоматски подићи батцх датотеку да бисте је покренули као администратор?

Да бисте ручно повисили пакетне датотеке, кликните десним тастером миша на њу и изабрали Покрени као администратор. Ево начина да аутоматски повисите пакетну датотеку која захтијева исправно повишене привилегије. То је еквивалентно избору „Покрени као администратор“ десним кликом на батцх датотеку. У оба случаја, УАЦ промпт ће се и даље приказати.

Аутоматски подижући батцх датотеку

:::::::::::::::::::::::::::::::::::::::::::: :: Automatically check & get admin rights V2 :::::::::::::::::::::::::::::::::::::::::::: @echo off CLS ECHO. ECHO ============================= ECHO Running Admin shell ECHO ============================= :init setlocal DisableDelayedExpansion set "batchPath=%~0" for %%k in (%0) do set batchName=%%~nk set "vbsGetPrivileges=%temp%\OEgetPriv_%batchName%.vbs" setlocal EnableDelayedExpansion :checkPrivileges NET FILE 1>NUL 2>NUL if '%errorlevel%' == '0' ( goto gotPrivileges ) else ( goto getPrivileges ) :getPrivileges if '%1'=='ELEV' (echo ELEV & shift /1 & goto gotPrivileges) ECHO. ECHO ************************************** ECHO Invoking UAC for Privilege Escalation ECHO ************************************** ECHO Set UAC = CreateObject^("Shell.Application"^)>"%vbsGetPrivileges%" ECHO args = "ELEV ">>"%vbsGetPrivileges%" ECHO For Each strArg in WScript.Arguments>>"%vbsGetPrivileges%" ECHO args = args ^& strArg ^& " ">>"%vbsGetPrivileges%" ECHO Next>>"%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 as admin (example) - put here code as you like ECHO %batchName% Arguments: %1 %2 %3 %4 %5 %6 %7 %8 %9 cmd /k 

Додајте своја упутства у ову .бат датотеку под ознаком “СТАРТ”.

Ова батцх датотека ствара Вбсцрипт датотеку која затим поново покреће батцх датотеку као администратор (ако се већ не ради под привилегијама администратора) користећи параметар „рунас“ који је потребан да би је повисио. Метода Вбсцрипт и „рунас“ описана је у мом старом Вбсцриптс и УАЦ елевацији у Виндовс Виста и Виши.

Заслуге Матт-у при преношењу стока за ову методу. виндовс - Како могу аутоматски повисити своју батцх датотеку тако да ако је потребно, захтева од УАЦ-ових административних права?

Покретање групних датотека повишено подразумевано

Поред горе наведене методе аутоматског подизања, са клијентове стране можете подешавати регистар тако да ће батцх датотеке увек почети повишене, показујући УАЦ промпт. Ово се врши променом подразумеване акције двоструког клика из „отворене“ у „рунас“ у регистру. Користите ове кораке:

Покрените Регедит.еке и идите на следећу локацију:

 ХКЕИ_ЦЛАССЕС_РООТ \ батфиле \ схелл 

Двокликните (подразумевано) и подесите његове вредности као рунас

Изађите из уређивача регистра.

Након ове промене, батцх датотеке ће се увек покренути повишеним кликом двапут. Покретање као администратор била би задана опција приказана када десни клик на .бат датотеку.

Избор Уредника