Этот вопрос отличается от « Запуск от имени администратора» от командной строки в Windows 8, и я написал почему: я хочу запустить программу а) от имени другого пользователя б) получить повышенные привилегии (что дополнительно требуется для выполнения от имени администратора в соответствии с UAC) и в) пройти первоначальную среду. Статья о ссылках охватывает только a+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 (было бы хорошо иметь это вместе)