Перейти к содержанию

Как автоматически повысить уровень командного файла, чтобы запустить его от имени администратора?

Чтобы поднять пакетные файлы вручную, щелкните его правой кнопкой мыши и выберите «Запуск от имени администратора». Вот способ автоматического повышения уровня командного файла, для правильной работы которого требуются повышенные привилегии. Это эквивалентно выбору «Запуск от имени администратора» путем щелчка правой кнопкой мыши командного файла. В любом случае приглашение UAC все равно будет отображаться.if(typeof __ez_fad_position!=’undefined’){__ez_fad_position(‘div-gpt-ad-winhelponline_com-medrectangle-3-0′)};if(typeof __ez_fad_position!=’undefined’){__ez_fad_position(‘div-gpt-ad-winhelponline_com-box-3-0’)};

Автоматическое повышение уровня пакетного файла

::::::::::::::::::::::::::::::::::::::::::: :: Автоматическая проверка и получение прав администратора V2 ::::::::::::::::::::::::::::::::::::::::::: @ эхо выключено CLS ЭХО. ЭХО ============================= ECHO Запуск оболочки администратора ЭХО =============================
:в этом setlocal DisableDelayedExpansion установить "batchPath =% ~ 0" для %% k в (% 0) установите batchName = %% ~ nk установить "vbsGetPrivileges =% temp% \ OEgetPriv_% batchName% .vbs" setlocal EnableDelayedExpansion
: checkPrivileges ЧИСТЫЙ ФАЙЛ 1> NUL 2> NUL если '% errorlevel%' == '0' (goto gotPrivileges) else (goto getPrivileges)
: getPrivileges если '% 1' == 'ELEV' (echo ELEV & shift / 1 & goto gotPrivileges) ЭХО. ЭХО ************************************* ECHO вызывает UAC для повышения привилегий ЭХО *************************************
ECHO Set UAC = CreateObject ^ ("Shell.Application" ^)> "% vbsGetPrivileges%" ECHO args = "ELEV" >> "% vbsGetPrivileges%" ECHO для каждой strArg в WScript.Arguments >> "% vbsGetPrivileges%" ECHO args = args ^ & strArg ^ & "" >> "% vbsGetPrivileges%" ECHO Далее >> "% vbsGetPrivileges%" ECHO UAC.ShellExecute "! BatchPath!", Args, "", "runas", 1 >> "% vbsGetPrivileges%" "% SystemRoot% \ System32 \ WScript.exe" "% vbsGetPrivileges%"% * выход / B
: gotPrivileges setlocal и pushd. cd / d% ~ dp0 если '% 1' == 'ELEV' (del "% vbsGetPrivileges%" 1> nul 2> nul & shift / 1)
:::::::::::::::::::::::::::: ::НАЧНИТЕ :::::::::::::::::::::::::::: REM Запустить оболочку от имени администратора (пример) - введите здесь код, как вам нравится ECHO% batchName% Аргументы:% 1% 2% 3% 4% 5% 6% 7% 8% 9 cmd / k

Добавьте свои инструкции в этот .bat-файл под меткой «НАЧАТЬ».

Этот командный файл создает файл Vbscript, который затем повторно запускает командный файл от имени администратора (если он еще не запущен с правами администратора) с использованием параметра «runas», который необходим для его повышения. Метод Vbscript и «runas» описывался в моем старом посте «Скрипты Vbscript и повышение прав UAC в Windows Vista и более поздних версиях».

Кредиты Мэтту в Stack Overflow за этот метод. windows — Как я могу автоматически повысить свой пакетный файл, чтобы он запрашивал у администратора UAC права, если это необходимо?

Запуск пакетных файлов с повышенными правами по умолчанию

Помимо описанного выше метода автоматического повышения прав, со стороны клиента вы можете настроить реестр так, чтобы командные файлы всегда запускались с повышенными правами, показывая подсказку UAC. Это делается путем изменения действия двойного щелчка по умолчанию с «открыть» на «runas» в реестре. Используйте следующие шаги:if(typeof __ez_fad_position!=’undefined’){__ez_fad_position(‘div-gpt-ad-winhelponline_com-box-4-0’)};

Запустите Regedit.exe и перейдите в следующую папку:

if(typeof __ez_fad_position!=’undefined’){__ez_fad_position(‘div-gpt-ad-winhelponline_com-medrectangle-4-0’)};

HKEY_CLASSES_ROOT \ batfile \ оболочка

Дважды щелкните (по умолчанию) и установите его данные значения как runas

bat файл по умолчанию с повышенными правами

Закройте редактор реестра.

После этого изменения командные файлы всегда будут запускаться с повышенными правами при двойном щелчке. Запуск от имени администратора будет вариантом по умолчанию, отображаемым при щелчке правой кнопкой мыши по файлу .bat.

bat файл по умолчанию с повышенными правами

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *