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

Когда вы запускаете скрипт от имени администратора, все прописанные в нём команды также будут выполнены с администраторскими правами. Это же касается запускаемых из скрипта приложений и командных файлов. А теперь представьте, что в скрипте у вас прописана команда запуска программы, предоставление полных прав которой нежелательно. Как быть в этом случае? Не разбивать же командный файл на две части, да это и не всегда возможно.

Использование таких инструментов как RunAsInvoker тут тоже вряд ли поможет, поскольку скрипт уже получил административный токен.

И всё же решение существует.

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

Если при этом в качестве аргумента ему передать путь к исполняемому файлу программы, то последняя тоже запустится с правами пользователя. Как и полагается дочернему процессу.

Это можно легко продемонстрировать на примере запуска командной строки из PowerShell, открытой с правами администратора.

Чтобы открыть командную строку в отдельном окне, выполняем в PowerShell команду start cmd. Обратите внимание, что командная строка запустилась с теми же правами, что и консоль PowerShell.

Start cmd

Теперь подключим сюда Проводник и посмотрим, что получится.

Выполняем команду start explorer C:\Windows\System32\cmd.exe и видим, что на этот раз командная строка запустилась с обычными правами пользователя, на что указывает отсутствие в заголовке упоминания об администраторе.

Start explorer

Оцените Статью:

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Как поменять расширения файлов в пакетном режиме средствами Windows

Необходимость в переименовании расширений возникает намного реже, необходимость в переименовании названий файлов, тем более, если ...

Как преобразовать скрипт PowerShell в исполняемый EXE

Чтобы иметь возможность запускать в Windows 10 скрипты PS1, необходимо изменить политику выполнения в самом ...

Как скрыть исполнение файла CMD или BAT

Если вам уже доводилось иметь дело со скриптами CMD или BAT, то наверняка вы заметили ...

Автоматизируем задачи в Adobe Photoshop

Безусловно, Adobe Photoshop является самым продвинутым растровым графическим редактором. Он с легкостью может заменить любую ...

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

Ваш адрес email не будет опубликован.