1

我正在尝试使用 CMD.exe 调用提升的 powershell 脚本来执行任务。当我尝试添加开关以便捕获错误时

Start-Process:无法使用指定的名称参数解析参数集。InvalidArgument AmbiguousParameterSet

我知道 -RedirectStandardError 是有效的,那么这里发生了什么?

set Command1='C:\users\administrator\desktop\DoStuff.ps1'
set Output='C:\Users\nadministrator\desktop\output.txt'
powershell.exe -NoProfile "start-process powershell.exe -wait -RedirectStandardError %Output% -argumentlist %Command1% -verb RunAs"
4

1 回答 1

7

当您遇到参数集问题时,运行此命令以查看哪些参数在哪些参数集中可用:

C:\PS> Get-Command Start-Process -Syntax

Start-Process [-FilePath] <string> [[-ArgumentList] <string[]>] [-Credential
<pscredential>] [-WorkingDirectory <string>] [-LoadUserProfile] [-NoNewWindow]
[-PassThru] [-RedirectStandardError <string>] [-RedirectStandardInput <string>]
[-RedirectStandardOutput <string>] [-Wait] [-WindowStyle <ProcessWindowStyle>]
[-UseNewEnvironment] [<CommonParameters>]

Start-Process [-FilePath] <string> [[-ArgumentList] <string[]>]
[-WorkingDirectory <string>] [-PassThru] [-Verb <string>] [-Wait] [-WindowStyle
<ProcessWindowStyle>] [<CommonParameters>]

从这里你可以看到 -Verb 和 -RedirectStandardOutput 不在同一个参数集中,这意味着它们的使用是互斥的。

于 2013-01-09T23:24:42.197 回答