PowerShell cmdlet 中不明确的 SwitchParameter 绑定

Ambiguous SwitchParameter binding in 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,即使我没有指定它们中的任何一个。我在这里遗漏了什么吗?

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

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

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