【问题标题】:How to run an application as "run as administrator" from the command prompt? [closed]如何从命令提示符以“以管理员身份运行”运行应用程序? [关闭]
【发布时间】:2012-01-05 04:31:43
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

标签: powershell cmd command-prompt


【解决方案1】:

试试这个:

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

它第一次保存密码,不再询问。也许当你更改管理员密码时,你会再次收到提示。

【讨论】:

  • 虽然这可能正常工作,但这是一个绝对可怕的想法,因为它破坏了 UAC 的整个概念。
  • @BenVoigt 请提出替代方案
  • 试试powershell -Command "Start-Process 'C:\program.exe' -Verb runAs"(用你的命令替换C:\program.exe),见superuser.com/questions/55809/…
  • 当我可以右键单击任何其他程序并以管理员身份运行而无需输入密码时,为什么需要我输入密码?谢谢
  • @BenVoigt 不要吹垫圈。与任何电源命令一样,它在特定情况下既有用又必要。
【解决方案2】:

看到这篇TechNet 文章:Runas command documentation

从命令提示符:

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's elevated token, if available.

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

但它可以在我的机器上运行。

【讨论】:

  • 在这里不起作用。相反,我只是得到帮助输出。
  • 这似乎对我不起作用,除非我从已经拥有管理员权限的进程运行它:“无法安装 PSEXESVC 服务”
  • 我什至在 Windows 10 中都没有这个命令。 -- 不是来自命令提示符,也不是来自 Power Shell。
  • @BrainSlugs83,你必须下载它,链接在答案中。
猜你喜欢
  • 1970-01-01
  • 2012-10-05
  • 2023-03-15
  • 1970-01-01
  • 2011-12-29
  • 1970-01-01
  • 2013-02-15
  • 2011-08-22
相关资源
最近更新 更多