使用以下示例函数:
Function Test {
param(
[Parameter(Position=0)]
[string]$Optional="some optional string",
[Parameter(Position=1, Mandatory=$true)]
[string]$Required
)
Process { }
}
我期望以下内容是相同的:
Test -Optional "optional" "required"
并且
Test "required"
不是这样的,为什么呢?可选参数并非必需,但第二个示例会失败,显示出错信息:
“无法使用指定的命名参数解析参数集。一个或多个已发出的参数不能一起使用,或提供的参数数量不足。”
如果只指定了一个参数,那么它应该是强制性参数,因为它必须被指定。
有没有办法实现我想做的事情呢?