如何使用 PowerShell 在 cmd [提升] 中执行 运行 命令?

How to run commands in cmd [elevated] using PowerShell?

我想 运行 提升命令,例如 calc.exe 在 cmd 中使用 PowerShell。我在 PowerShell 中尝试过:

Start-Process -Verb RunAs cmd calc.exe

它所做的只是打开提升的 cmd,但不会 运行 calc.exe(命令)。

我做错了什么?有人可以帮助我吗?

Start-Process调用的可执行文件是cmd;您必须通过 -ArgumentList (-Args) 参数分别指定其 arguments 作为 array (,-分隔):

Start-Process -Verb RunAs cmd -Args /k, calc.exe

注意:这里的参数恰好不需要引号,但是--前缀参数或带有嵌入空格的参数需要;引用总是一个选项 ('/k', 'calc.exe')

注:

  • /k 需要在启动 calc.exe 后保持 cmd 控制台 window 打开(/c 会在启动后立即关闭它, 但在这种情况下,您可以跳过 cmd 并将 calc.exe 直接传递给 Start-Process).

  • 通常,您需要 /c/k 才能将要执行的命令传递给 cmd ;否则,calc.exe 之类的参数将被简单地 忽略 .
    运行 cmd /? 了解更多信息。