Deklarieren von Parametersätzen

In diesem Beispiel wird gezeigt, wie sie zwei Parametersätze definieren, wenn Sie die Parameter für ein Cmdlet deklarieren. Jeder Parametersatz verfügt sowohl über einen eindeutigen Parameter als auch über einen freigegebenen Parameter, der von beiden Parametersätzen verwendet wird. Weitere Informationen zu Parametersätzen, einschließlich der Angabe des Standardparametersets, finden Sie unter Cmdlet Parameter Sets.

Wichtig

Definieren Sie nach Möglichkeit den eindeutigen Parameter eines Parametersets als erforderlichen Parameter. Wenn Ihr Cmdlet jedoch ohne Angabe von Parametern ausgeführt werden soll, kann der eindeutige Parameter ein optionaler Parameter sein. Beispielsweise ist der eindeutige Parameter des Get-Command Cmdlets optional.

Definieren von zwei Parametersätzen

  1. Fügen Sie ParameterSet dem Parameter-Attribut das Schlüsselwort für den eindeutigen Parameter des ersten Parametersets hinzu.

    [Parameter(Position = 0, Mandatory = true,
               ParameterSetName = "Test01")]
    public string UserName
    {
      get { return userName; }
      set { userName = value; }
    }
    private string userName;
    
  2. Fügen Sie ParameterSet das Schlüsselwort dem Parameter-Attribut für den eindeutigen Parameter des zweiten Parametersets hinzu.

    [Parameter(Position = 0, Mandatory = true,
               ParameterSetName = "Test02")]
    public string ComputerName
    {
      get { return computerName; }
      set { computerName = value; }
    }
    private string computerName;
    
  3. Fügen Sie für den Parameter, der zu beiden Parametersätzen gehört, ein Parameterattribut für jeden Parametersatz hinzu, und fügen Sie dann jedem Satz ParameterSet das Schlüsselwort hinzu. In jedem Parameterattribut können Sie angeben, wie dieser Parameter definiert wird. Ein Parameter kann in einem Satz optional und in einer anderen obligatorisch sein.

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

Weitere Informationen

Cmdlet-Parametersätze

Schreiben eines Windows PowerShell-Cmdlets