Windows: запускать программу от имени администратора в текущей среде и с правами
Этот вопрос отличается от " Запуск от имени администратора" от командной строки в Windows 8, и я написал почему: я хочу запустить программу а) от имени другого пользователя б) получить повышенные привилегии (что дополнительно требуется для выполнения от имени администратора в соответствии с UAC) и в) пройти оригинальную среду. Ссылка статья охватывает только + B.
Я только что увидел, что "runas /user:admin /env cmd.exe", который раньше работал в WinXP, больше не работает в Vista+ из-за UAC: требуется дополнительное повышение прав.
Что является лучшим / самым коротким (в том смысле, что мне не нужно устанавливать программу; нормально было бы копировать небольшие вспомогательные файлы) для достижения:
- Запуск exe-файла от имени администратора (то есть другого пользователя в группе администраторов)
- Кроме того, с повышенными привилегиями
- Сохранить среду текущих пользователей
- Разрешает задавать параметры для исполняемой программы
Я нашел "Elevation PowerToys для Windows Vista" и попытался:
runas /user:admin /env "%USR%\bin\Elevate.cmd \"%COMMANDER_EXE%\""
но у этого есть один ограничитель шоу и некоторые недостатки:
- Хотя я использую "/env", исполняемая программа не наследует окружение
- Трехкратные вложенные параметры затрудняют предоставление более сложных параметров для%COMMANDER_EXE%
- Я бы предпочел нормальное / графическое окно для ввода пароля, а не окно cmd
- После runas дополнительно появляется диалоговое окно UAC (было бы хорошо, если бы это было вместе)