如何声明参数集
此示例演示如何在声明 cmdlet 的参数时定义两个参数集。 每个参数集都有唯一参数和两个参数集使用的共享参数。 有关参数集(包括如何指定默认参数集)详细信息,请参阅 Cmdlet 参数集。
重要
尽可能将参数集的唯一参数定义为必需参数。 但是,如果希望在不指定任何参数的情况下运行 cmdlet,则唯一参数可以是可选参数。 例如 Get-Command
,cmdlet 的唯一参数是可选的。
如何定义两个参数集
将
ParameterSet
关键字添加到第一个参数集的唯一参数的 Parameter 属性。[Parameter(Position = 0, Mandatory = true, ParameterSetName = "Test01")] public string UserName { get { return userName; } set { userName = value; } } private string userName;
将
ParameterSet
关键字添加到第二个参数集的唯一参数的 Parameter 属性。[Parameter(Position = 0, Mandatory = true, ParameterSetName = "Test02")] public string ComputerName { get { return computerName; } set { computerName = value; } } private string computerName;
对于属于这两个参数集的参数,请添加每个参数集的 Parameter 属性,然后将
ParameterSet
关键字添加到每个参数集。 在每个 Parameter 属性中,可以指定如何定义该参数。 参数可以在一个集内是可选的,在另一个集内是可选的。[Parameter(Mandatory= true, ParameterSetName = "Test01")] [Parameter(ParameterSetName = "Test02")] public string SharedParam { get { return sharedParam; } set { sharedParam = value; } } private string sharedParam;