![将参数传递给使用 Runas 启动的程序](https://linux22.com/image/1556488/%E5%B0%86%E5%8F%82%E6%95%B0%E4%BC%A0%E9%80%92%E7%BB%99%E4%BD%BF%E7%94%A8%20Runas%20%E5%90%AF%E5%8A%A8%E7%9A%84%E7%A8%8B%E5%BA%8F.png)
我尝试以其他用户身份启动性能监视器。我发现runas.exe
程序参数的语法让我抓狂。以下语法有效:
C:\Windows\System32\runas.exe /user:domain\username perfmon.exe
但由于perfmon.exe
有参数,*/res*
以下行不起作用:
C:\Windows\System32\runas.exe /user:domain\username perfmon.exe /res
我试图逃跑*/res*
,但没有成功。我尝试过:
"/res"
\"/res\""
\"\/res\""
有任何想法吗?
答案1
正确的语法是将目标可执行文件及其参数都放在双引号中,如下所示:
runas.exe /user:domain\username "perfmon.exe /res"
runas.exe /user:domain\username "perfmon.exe \"argument with spaces\" /res"
更多信息:Runas 命令
答案2
runas
对于任何在寻找使用应用程序的方法时偶然发现这一点的人其中其自身的参数可能包含空格。
最初接受的答案\"
是不是为我工作。
有效的方法是双引号实际上能够传递带有空格的参数:
runas.exe /user:domain\username "perfmon.exe ""argument with spaces"" /res"
这里实际上解释得很好:https://ss64.com/nt/syntax-esc.html