Come dichiarare i set di parametriHow to Declare Parameter Sets

Questo esempio illustra come definire due set di parametri quando si dichiarano i parametri per un cmdlet.This example shows how to define two parameter sets when you declare the parameters for a cmdlet. Ogni set di parametri dispone sia di un parametro univoco che di un parametro condiviso utilizzato da entrambi i set di parametri.Each parameter set has both a unique parameter and a shared parameter that is used by both parameter sets. Per ulteriori informazioni sui set di parametri, inclusa la modalità di specifica del set di parametri predefinito, vedere set di parametri del cmdlet.For more information about parameters sets, including how to specify the default parameter set, see Cmdlet Parameter Sets.

Importante

Quando possibile, definire il parametro univoco di un set di parametri come parametro obbligatorio.Whenever possible, define the unique parameter of a parameter set as a required parameter. Tuttavia, se si desidera che il cmdlet venga eseguito senza specificare parametri, il parametro Unique può essere un parametro facoltativo.However, if you want your cmdlet to run without specifying any parameters, the unique parameter can be an optional parameter. Ad esempio, il parametro Unique del Get-Command cmdlet è facoltativo.For example, the unique parameter of the Get-Command cmdlet is optional.

Come definire due set di parametriHow to Define Two Parameter Sets

  1. Aggiungere la ParameterSet parola chiave all'attributo Parameter per il parametro Unique del primo set di parametri.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. Aggiungere la ParameterSet parola chiave all'attributo Parameter per il parametro Unique del secondo set di parametri.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. Per il parametro che appartiene a entrambi i set di parametri, aggiungere un attributo di parametro per ogni set di parametri e quindi aggiungere la ParameterSet parola chiave a ogni set.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. In ogni attributo di parametro è possibile specificare la modalità di definizione del parametro.In each Parameter attribute, you can specify how that parameter is defined. Un parametro può essere facoltativo in un set e obbligatorio in un altro.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;
    

Vedere ancheSee Also

Set di parametri dei cmdletCmdlet Parameter Sets

Scrittura di un cmdlet di Windows PowerShellWriting a Windows PowerShell Cmdlet