如何从命令提示符“以管理员身份运行”运行应用程序?

时间:2011-11-23 22:05:32

标签: powershell cmd command-prompt

我有一个名为test.bat的批处理文件。我在test.bat文件中调用以下说明:

start /min powershell.exe %sysdrive%\testScripts\testscript1.ps1

当我通过命令提示符运行时,我的testscript运行成功。我想以管理员身份运行它(就像我创建了一个桌面快捷方式并以管理员身份运行。它不应该提示任何用户名或密码。)

我尝试在上面/elevate中添加/NOUACtest.bat参数,但没有运气。我该如何解决这个问题?

我知道如何手动完成,但我希望从命令提示符执行此操作。

(按Marnix Klooster):...不使用任何其他工具,例如an answer to Super User question How to run program from command line with elevated rights中建议的工具。)

3 个答案:

答案 0 :(得分:82)

试试这个:

runas.exe /savecred /user:administrator "%sysdrive%\testScripts\testscript1.ps1" 

第一次保存密码,再也不会问。也许当您更改管理员密码时,系统会再次提示您。

答案 1 :(得分:22)

请参阅此TechNet文章:Runas command documentation

从命令提示符:

C:\> runas /user:<localmachinename>\administrator cmd

或者,如果您已连接到域:

C:\> runas /user:<DomainName>\<AdministratorAccountName> cmd

答案 2 :(得分:6)

看起来psexec -h是这样做的方法:

 -h         If the target system is Windows Vista or higher, has the process
            run with the account's elevated token, if available.

哪个......似乎没有在 Sysinternals - PsExec 的在线文档中列出。

但它适用于我的机器。

相关问题