Cómo declarar los conjuntos de parámetrosHow to Declare Parameter Sets

En este ejemplo se muestra cómo definir dos conjuntos de parámetros al declarar los parámetros de un cmdlet.This example shows how to define two parameter sets when you declare the parameters for a cmdlet. Cada conjunto de parámetros tiene un parámetro único y un parámetro compartido que usan ambos conjuntos de parámetros.Each parameter set has both a unique parameter and a shared parameter that is used by both parameter sets. Para obtener más información sobre los conjuntos de parámetros, incluido el modo de especificar el conjunto de parámetros predeterminado, consulte conjuntos de parámetros de cmdlet.For more information about parameters sets, including how to specify the default parameter set, see Cmdlet Parameter Sets.

Importante

Siempre que sea posible, defina el parámetro único de un conjunto de parámetros como parámetro necesario.Whenever possible, define the unique parameter of a parameter set as a required parameter. Sin embargo, si desea que el cmdlet se ejecute sin especificar ningún parámetro, el parámetro único puede ser un parámetro opcional.However, if you want your cmdlet to run without specifying any parameters, the unique parameter can be an optional parameter. Por ejemplo, el parámetro único del Get-Command cmdlet es opcional.For example, the unique parameter of the Get-Command cmdlet is optional.

Cómo definir dos conjuntos de parámetrosHow to Define Two Parameter Sets

  1. Agregue la ParameterSet palabra clave al atributo Parameter del parámetro Unique del primer conjunto de parámetros.Add the ParameterSet keyword to the Parameter attribute for the unique parameter of the first parameter set.

    [Parameter(Position = 0, Mandatory = true,
               ParameterSetName = "Test01")]
    public string UserName
    {
      get { return userName; }
      set { userName = value; }
    }
    private string userName;
    
  2. Agregue la ParameterSet palabra clave al atributo Parameter del parámetro Unique del segundo conjunto de parámetros.Add the ParameterSet keyword to the Parameter attribute for the unique parameter of the second parameter set.

    [Parameter(Position = 0, Mandatory = true,
               ParameterSetName = "Test02")]
    public string ComputerName
    {
      get { return computerName; }
      set { computerName = value; }
    }
    private string computerName;
    
  3. Para el parámetro que pertenece a ambos conjuntos de parámetros, agregue un atributo de parámetro para cada conjunto de parámetros y, a continuación, agregue la ParameterSet palabra clave a cada conjunto.For the parameter that belongs to both parameter sets, add a Parameter attribute for each parameter set and then add the ParameterSet keyword to each set. En cada atributo de parámetro, puede especificar cómo se define ese parámetro.In each Parameter attribute, you can specify how that parameter is defined. Un parámetro puede ser opcional en un conjunto y obligatorio en otro.A parameter can be optional in one set and mandatory in another.

    [Parameter(Mandatory= true, ParameterSetName = "Test01")]
    [Parameter(ParameterSetName = "Test02")]
    public string SharedParam
    {
        get { return sharedParam; }
        set { sharedParam = value; }
    }
    private string sharedParam;
    

Consulte tambiénSee Also

Conjuntos de parámetros del cmdletCmdlet Parameter Sets

Escribir un cmdlet de Windows PowerShellWriting a Windows PowerShell Cmdlet