2010-04-27 7 views
5

In C# Sie die aktuelle ParameterSetName im ProcessRecord Überschreibung eines Powershell Cmdlet mit Code wie folgt zu erreichen:Powershell Advanced Function erhalten aktuelle ParameterSetName

switch (ParameterSetName) 
{ 
     case FromUriParamSetName: 
      loadFromUri(); 
      break; 

     case FromFileParamSetName: 
      loadFromFile(); 
      break; 
} 

Ich versuche, herauszufinden, wie ich den Wert bekommen kann für ParameterSetName in einem Skript-Cmdlet (Advanced Function).

Antwort

2

Als eine Möglichkeit, diese fantastische Antwort zu erweitern:

switch ($PsCmdlet.ParameterSetName) { 
    "FromFile_ParamSet" { 
    } 
    "FromUri_ParamSet" { 
    } 
    "__AllParameterSets" { 
    } 
} 

Die __AllparameterSets ist die Standardoption in PS

14

Verwendung $PsCmdlet.ParameterSetName:

switch ($PsCmdlet.ParameterSetName) { 
    "FromFile_ParamSet" { 

    } 
    "FromUri_ParamSet" { 

    } 
}