我想使用PowerShell在cmd中运行提升的命令,例如 calc.exe
。我从PowerShell尝试过:
Start-Process -Verb RunAs cmd calc.exe
它所做的只是打开提升的cmd,但不运行calc.exe
(命令)。
我在做什么错?有人可以帮我吗?
答案 0 :(得分:6)
Start-Process
调用的可执行文件是cmd
;您必须通过-ArgumentList
(-Args
)参数分别指定其 arguments 作为 array (,
分隔):
Start-Process -Verb RunAs cmd -Args /k, calc.exe
注意:这里的参数碰巧不需要用引号,但是需要-
前缀的参数或带有嵌入空格的参数;总是使用引号('/k', 'calc.exe'
)
注意:
/k
必须在启动cmd
之后保持calc.exe
控制台窗口打开(/c
之后会立即关闭,但是在这种情况下,您可以跳过cmd
并将calc.exe
直接传递到Start-Process
)。
通常,您需要 /c
或/k
才能将命令传递给cmd
;否则,calc.exe
之类的参数将被忽略。
运行cmd /?
了解更多信息。