调用powershell.exe给出参数设置错误

时间:2013-01-09 22:44:33

标签: powershell command-prompt

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

Start-Process:无法使用指定的name参数解析参数集。 无效的论点 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"

1 个答案:

答案 0 :(得分: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不在同一个参数集中,这意味着它们的使用是互斥的。