我正在尝试使用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"
答案 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不在同一个参数集中,这意味着它们的使用是互斥的。