Запустить команду без прав доступа из командной строки с повышенными правами?

1217
laggingreflex

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

4
Вы также можете просто "запустить" другого пользователя. Ramhound 9 лет назад 0

2 ответа на вопрос

3
laggingreflex

This seems to work.

runas /trustlevel:0x20000 <program> 

(elevation privilege can be tested in a batch file like this)

I got the hint from runas /? where it says

/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 outputs

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

I haven't any deeper understanding but it seems to do the job.


Welp, turns out that this is causing issues, at least for me.
My purpose involved launching Chrome but all pages crash and fail to load.
Another issue is I can't drag-n-drop items to and from applications launched this way and the normal way.


Task Scheduler is another way. It doesn't cause above mentioned issues. Although you have to create specific tasks in advance.

Думаешь, ты мог бы расширить значение 0x20000 для флага уровня доверия? Foosh 9 лет назад 2
1
liamZ

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

Для начала требуется программа 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 бита.