Как я могу выполнить .bat файл с правами администратора при запуске?


5

Мы хотим выполнить автозапуск d:\func.batпри входе в Windows 8.

Мы добавили test.cmdв C:\Users\<User Profile>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup. Когда мы перезагружаемся или запускаем Windows 8 и автоматически запускаемся d:\func.bat, но мы нашли некоторые инструменты в качестве администратора.

Я хочу автоматически запустить командную строку как администратор и запустить d:\func.batрезультат в порядке.

Ответы:


11

Попробуйте использовать планировщик заданий для запуска нужного пакетного или cmd-файла при запуске.

Разница с планировщиком заданий заключается в том, что вы можете предоставить учетные данные, с которыми должно работать приложение (администратор в вашем случае).


Я попробовал этот способ, но он не может работать. Не могли бы вы поддержать подробную информацию? спасибо
Сэм

1
Не забывайте, что вы должны запустить пакетный файл черезcmd.exe /c test.cmd
Роберт

0

Что касается CMD Запуск от имени администратора

Что я делаю, так это щелкаю правой кнопкой мыши программу или ее ярлык: Свойства, ищу кнопку Дополнительно, ставим галочку - Запуск от имени Администратора.

Нажмите ОК, затем ОК в следующем меню.


2
Я хочу, чтобы машина автоматически запускала этот пакетный файл при входе в ОС Windows 8
Сэм

Привет меня В любом случае, вы можете отключить UAC, но это может быть не совсем безопасно. Я думаю, что Планировщик заданий будет лучшим способом, как сказал тумчаадитя.
Сэм

0

Поместите это в верхней части вашего файла летучей мыши. Спасибо, кто когда-либо понял это. не мой код Проверено на Windows 10 x64

@echo off
:: BatchGotAdmin (Run as Admin code starts)
REM --> Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges...
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
pushd "%CD%"
CD /D "%~dp0"
:: BatchGotAdmin (Run as Admin code ends)
:: Your codes should start from the following line

1
У вас нет источника вообще?
Бурги,

Похоже, что источником являются sites.google.com/site/eneerge/scripts/batchgotadmin . Это сработало для меня.
Джон Стаффорд,
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.