4

Можно ли запустить команду без повышенных привилегий из командного файла, который был запущен с повышенными привилегиями?

2 ответа2

3

Это похоже на работу.

runas /trustlevel:0x20000 <program>

(привилегия повышения может быть проверена в командном файле, как это)

Я получил подсказку от runas /? где это говорит

/showtrustlevels  displays the trust levels that can be used as arguments 
                   to /trustlevel.
/trustlevel       <Level> should be one of levels enumerated 
                   in /showtrustlevels.

выходы runas /showtrustlevels

The following trust levels are available on your system:
0x20000 (Basic User)

У меня нет более глубокого понимания, но, кажется, это делает работу.


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


Планировщик заданий - это еще один способ. Это не вызывает вышеупомянутых проблем. Хотя нужно заранее создавать конкретные задачи.

1

Я нашел два способа сделать это:

Для начала требуется программа Nirsoft RunFromProcess.exe. Предполагая, что процесс explorer.exe не работает с повышенными правами, это будет работать:

runfromprocess explorer.exe cmd.exe /k pushd %temp%

или же

runfromprocess explorer.exe "C:\full path\to\bat\file.bat

Лучший способ сделать это - использовать программу DeElevate.exe от Stardock:

DeElevate.exe "C:\full path\to\bat\file.bat" ["parameters"]

или же

DeElevate.exe  "C:\full path\to\program.exe" ["parameters"]

например, это будет работать:

DeElevate.exe cmd.exe "/k pushd %temp%"

Вы можете найти программу DeElevate.exe в составе приложения Groupy:

http://storage.stardock.com/files/current/Groupy-sd-setup.exe

после его установки (желательно в песочнице или на виртуальной машине) вам понадобятся только файлы DeElevate64.exe, DeElevator64.dll из каталога "C:\Program Files (x86)\Stardock\Groupy\", если ваша система 64 биты или файлы DeElevate.exe, DeElevator.dll из "C:\Program Files\Stardock\Groupy\", если ваша система имеет 32 бита.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .