2010-04-27 7 views
5

C# içinde ProcessRecordProcessRecord değerindeki ProcessRecord değerini aşağıdaki gibi bir kod ile geçersiz kılabilirsiniz:PowerShell Gelişmiş İşlev, geçerli ParameterSetName olsun

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

     case FromFileParamSetName: 
      loadFromFile(); 
      break; 
} 

Bir komut dosyası cmdlet'inde ParameterSetName değerini nasıl alabileceğimi anlamaya çalışıyorum (Gelişmiş Fonksiyon).

cevap

2

bu müthiş cevabı genişletmek için bir yol gibi:

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

__AllparameterSets PS

varsayılan seçenektir
14

Kullanım $PsCmdlet.ParameterSetName:

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

    } 
    "FromUri_ParamSet" { 

    } 
}