Пакетный файл для запуска программ от имени администратора-ошибка 740

Я работаю над небольшим пакетным сценарием, который повышает уровень основных программ windows для запуска от имени администратора.

все функции работают нормально, но я столкнулся с проблемой при попытке выполнить "команду regedit.исполняемый."

когда опция 3 выбрана в скрипте и он должен запустить regedit от имени администратора я получаю ошибку:

740: запрошенная операция требует повышения.

вот скрипт:

echo off
cls
echo.
echo Start as admin:
echo /----------------
echo # 1. CMD         #
echo # 2. Task Manager#
echo # 3. Regedit     #
echo # 0. Exit        #
echo ----------------/
echo.

set /p run=

if %run%==1 (
set run="cmd"
)

if %run%==2 (
set run="taskmgr"
)

if %run%==3 (
set run="regedit"
)

if %run%==0 (
exit
)

runas /savecred /user:admin %run%

есть решение за это?

я хотел бы сделать это работает без установки сторонних программ, изменение реестра или отключение контроля учетных записей.

2
задан Divin3
17.12.2022 19:16 Количество просмотров материала 2661
Распечатать страницу

4 ответа

вы можете вытащить его, запустив новую командную строку с RunAs, которую вы говорите, чтобы запустить команду.

чтобы сделать это в пакете, измените последнюю строку на:

runas /savecred /user:admin "cmd /c %run%"

3
отвечен Ƭᴇcʜιᴇ007 2022-12-19 03:04
Add this to the top of your Batch file and at the end just put %run% instead of (runas /savecred /user:admin %run%)


@echo off

:: BatchGotAdmin
:-------------------------------------
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"
    set params = %*:"=""
    echo UAC.ShellExecute "cmd.exe", "/c %~s0 %params%", "", "runas", 1 >> "%temp%\getadmin.vbs"

    "%temp%\getadmin.vbs"
    del "%temp%\getadmin.vbs"
    exit /B

:gotAdmin
    pushd "%CD%"
    CD /D "%~dp0"
:--------------------------------------
2
отвечен NetworkKingPin 2022-12-19 05:21

возможно этой может помочь, а может начинать всю партию, как админ может помочь, нужно создать еще один пакетный скрипт, содержащий:

runas /user:admin C:\Path_to_your_batch_file\name.bat
1
отвечен Bloodied 2022-12-19 07:38
  1. Щелкните Правой Кнопкой Мыши C:\Windows\regedit.exe и выберите Свойства
  2. на вкладке Совместимость выберите "Запустить программу от имени администратора"
0
отвечен bigfr0g 2022-12-19 09:55

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх