Deklarera parameteruppsättningar

Det här exemplet visar hur du definierar två parameteruppsättningar när du deklarerar parametrarna för en cmdlet. Varje parameteruppsättning har både en unik parameter och en delad parameter som används av båda parameteruppsättningarna. Mer information om parameteruppsättningar, inklusive hur du anger standardparameteruppsättningen, finns i Cmdlet Parameter Sets.

Viktigt

När det är möjligt definierar du den unika parametern för en parameteruppsättning som en obligatorisk parameter. Men om du vill att cmdleten ska köras utan att ange några parametrar kan den unika parametern vara en valfri parameter. Den unika parametern för Get-Command cmdleten är till exempel valfri.

Definiera två parameteruppsättningar

  1. Lägg till ParameterSet nyckelordet i attributet Parameter för den unika parametern för den första parameteruppsättningen.

    [Parameter(Position = 0, Mandatory = true,
               ParameterSetName = "Test01")]
    public string UserName
    {
      get { return userName; }
      set { userName = value; }
    }
    private string userName;
    
  2. Lägg till ParameterSet nyckelordet i parameterattributet för den unika parametern för den andra parameteruppsättningen.

    [Parameter(Position = 0, Mandatory = true,
               ParameterSetName = "Test02")]
    public string ComputerName
    {
      get { return computerName; }
      set { computerName = value; }
    }
    private string computerName;
    
  3. För parametern som tillhör båda parameteruppsättningarna lägger du till ett Parameter-attribut för varje parameteruppsättning och lägger sedan till ParameterSet nyckelordet i varje uppsättning. I varje parameterattribut kan du ange hur parametern definieras. En parameter kan vara valfri i en uppsättning och obligatorisk i en annan.

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

Se även

Cmdlet-parameteruppsättningar

Skriva en Windows PowerShell-cmdlet