PoweShell cmdlet中的不明确的SwitchParameter绑定

时间:2018-09-11 18:06:25

标签: c# powershell cmdlet

我想像这样向我的自定义PowerShell cmdlet中添加两个开关参数:

[Parameter(Mandatory = false, ParameterSetName = "p1")]
public SwitchParameter switchOne { get; set; }

[Parameter(Mandatory = false, ParameterSetName = "p2")]
public SwitchParameter switchTwo { get; set; }

但是,当我执行我的cmdlet时,即使没有指定它们,它也会引发AmbiguousParameterSet。我在这里想念东西吗?

1 个答案:

答案 0 :(得分:1)

如果该开关唯一指示使用了参数集,则将强制属性设置为true。

如果是这种情况,那么您可能需要重新考虑对参数集的使用,每个参数集应该是唯一的,如果您需要一个开关来指示唯一性,那么您可能就不需要参数集。

但是,如果没有完整的参数列表,很难说。