Start-Process Powershell命令中的Verb RunAs导致错误

时间:2014-09-08 13:54:06

标签: powershell runas

如果我在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 ..."

2 个答案:

答案 0 :(得分:9)

猜测-NoNewWindow-Verb RunAs无法合并,因为您无法提升当前使用的会话。

经过进一步的调查,你不是唯一一个对此进行调查的人。我读到它们不兼容here

根据你这样运行它的动机,你可以隐藏窗口

Start-Process "powershell" -Verb "runas" -WindowStyle hidden

您还可以查看可以处理此类事情的PSSessions。这可以在同一窗口中启动交互式会话。

答案 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}'

你可以尝试一下你的程序和参数,看看它是怎么回事?