Как запустить приложение как "запустить как администратор" из командной строки?
У меня есть пакетный файл с именем test.bat
. Я вызываю следующие инструкции в файле test.bat
:
start /min powershell.exe %sysdrive%\testScripts\testscript1.ps1
Когда я запускаю это через командную строку, мой testcript работает успешно. Я хочу запустить его как администратор (как если бы я создал ярлык на рабочем столе и запускался как администратор. Он не должен запрашивать ни одно имя пользователя или пароль).
Я попытался добавить параметры /elevate
и /NOUAC
в приведенный выше test.bat
, но не повезло. Как исправить эту проблему?
Я знаю, как это сделать вручную, но я хочу, чтобы это было выполнено из командной строки.
(By Marnix Klooster):... без использования каких-либо дополнительных инструментов, например, предложенных в ответе на Super Вопрос пользователя Как запустить программу из командной строки с повышенными правами.)
Ответы
Ответ 1
Попробуйте следующее:
runas.exe /savecred /user:administrator "%sysdrive%\testScripts\testscript1.ps1"
Он сохраняет пароль в первый раз и больше никогда не запрашивает пароль. Возможно, когда вы измените пароль администратора, вам снова будет предложено.
Ответ 2
См. статью TechNet: Документация команд Runas
В командной строке:
C:\> runas /user:<localmachinename>\administrator cmd
Или, если вы подключены к домену:
C:\> runas /user:<DomainName>\<AdministratorAccountName> cmd
Ответ 3
Похоже, что psexec -h
- это способ сделать это:
-h If the target system is Windows Vista or higher, has the process
run with the account elevated token, if available.
Что... похоже, не указано в онлайн-документации в Sysinternals - PsExec.
Но он работает на моей машине.