Запуск сценария с помощью команды runas - PullRequest
1 голос
/ 06 марта 2012

Мне нужно запустить скрипт установки от имени администратора.Я попробовал несколько вещей, но ни одна из них не работает

runas /user:Administrator install.bat

Оболочка запрашивает пароль, затем открывает новую оболочку Windows и сразу же закрывает ее, не выполняя сценарий

runas /user:Administrator "call install.bat" 

Оболочка запрашивает пароль, затем завершается с ошибкой

Unable to run - call install.bat
2: The system cannot find the file specified

Что я не понимаю, так это то, что если я запускаю команду call install.bat без части runas, сценарий запускается.Это не удалось для команд, которым нужны учетные данные администратора, но это ожидаемо.

У меня есть 2 вопроса:

  • Как запустить сценарий от имени администратора с помощью команды runas?
  • Не могли бы вы объяснить, почему не работает следующий вызов: runas /user:Administrator "call install.bat"

Ответы [ 2 ]

2 голосов
/ 06 марта 2012

Используйте cmd.exe, который используется для интерпретации файлов .cmd и .bat.

runas /user:Administrator "cmd.exe /K install.bat"

или

runas /user:Administrator "cmd.exe /C install.bat"

проверьте cmd.exe /? для /K и /C.

Примечание: /C более вероятно, чем вы хотите.

Примечание после вашего комментария: runas имеет опцию /env:

/env              to use current environment instead of user's.
0 голосов
/ 06 марта 2012

Пакетные файлы выполняются интерпретатором (cmd). Чтобы запустить скрипт в привилегированном режиме, вам нужен cmd с повышенными привилегиями. Попробуйте использовать cmd вместо call.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...