如果我在Poweshell脚本文件中运行以下命令($ cmd引用某些可执行文件):
Start-Process -FilePath $cmd -Verb RunAs Powershell
然后执行OK
但如果我略微修改它:
Start-Process -NoNewWindow -FilePath $cmd -Verb RunAs Powershell
或者像这样:
Start-Process -FilePath $cmd -ArgumentList @("status") -Verb RunAs Powershell
...然后命令失败并显示以下错误消息:
Start-Process:无法使用指定的参数集解析 命名参数。
我想知道为什么不接受这种格式,如何修改命令以指定参数列表和选项" -Verb RunAs ..."
答案 0 :(得分:9)
猜测-NoNewWindow
和-Verb RunAs
无法合并,因为您无法提升当前使用的会话。
经过进一步的调查,你不是唯一一个对此进行调查的人。我读到它们不兼容here
根据你这样运行它的动机,你可以隐藏窗口
Start-Process "powershell" -Verb "runas" -WindowStyle hidden
您还可以查看可以处理此类事情的PSSession
s。这可以在同一窗口中启动交互式会话。
答案 1 :(得分:0)
也许this可以帮助你:
$cmd = 'powershell.exe'
$arguments = "-NoLogo -NoProfile -WindowStyle Maximized"
Start-Process $cmd $arguments -Verb runAs
here的另一个例子:
Start-Process powershell -Credential mydomain\mydomainAdmin -ArgumentList '-noprofile -command &{Start-Process notepad -verb runas}'
你可以尝试一下你的程序和参数,看看它是怎么回事?