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

Pra*_*aju 120 powershell cmd command-prompt

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

start /min powershell.exe %sysdrive%\testScripts\testscript1.ps1
Run Code Online (Sandbox Code Playgroud)

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

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

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

(作者Marnix Klooster):...不使用任何其他工具,例如在回答超级用户问题时建议的那些工具如何从具有提升权限的命令行运行程序.)

小智 83

试试这个:

runas.exe /savecred /user:administrator "%sysdrive%\testScripts\testscript1.ps1" 
Run Code Online (Sandbox Code Playgroud)

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

  • 尝试`powershell -Command"Start-Process'C:\ program.exe'-Verb runAs"`(用你的命令替换`C:\ program.exe`),见http://superuser.com/questions/55809/如何对运行程序从 - 命令行-与升高的权利 (10认同)
  • @BenVoigt请提出替代方案 (8认同)
  • 当我可以右键单击任何其他程序并以管理员身份运行而不输入密码时,为什么要求我输入密码?谢谢 (7认同)
  • @BenVoigt不要吹垫圈.像任何电源命令一样,它在特定环境中既有用又必要. (4认同)
  • 虽然这可能会正常工作,但这是一个绝对可怕的想法,因为它破坏了 UAC 的整个概念。 (3认同)
  • 我可以在initian命令中使用管理密码填写的任何方法.它在我运行初始命令时要求输入管理员密码.首先可以提供输入吗?`runas.exe/user:yash a.exe MyAwesomePassword` (2认同)
  • 这以用户管理员身份运行,这与以管理权限运行不同。这也与之前写的其他答案相同,但需要保存凭据。 (2认同)

Joh*_*uiz 22

请参阅此TechNet文章:Runas命令文档

从命令提示符:

C:\> runas /user:<localmachinename>\administrator cmd
Run Code Online (Sandbox Code Playgroud)

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

C:\> runas /user:<DomainName>\<AdministratorAccountName> cmd
Run Code Online (Sandbox Code Playgroud)

  • 我试过这个命令,它要求凭证,它不应该要求凭据.正如我在查询中提到的那样.如果我右键单击桌面项,则以管理员身份运行它是预期的行为. (12认同)

Ben*_*oys 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.
Run Code Online (Sandbox Code Playgroud)

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

但它适用于我的机器.

  • 除非我从已具有管理员权限的进程运行它,否则这似乎对我不起作用:"无法安装PSEXESVC服务" (7认同)