2010-04-27 20 views
5

En C# se puede obtener la corriente ParameterSetName en el ProcessRecord anulación de un PowerShell Cmdlet con código como el siguiente:PowerShell de funciones avanzadas conseguir ParameterSetName actual

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

     case FromFileParamSetName: 
      loadFromFile(); 
      break; 
} 

que estoy tratando de averiguar cómo puedo obtener el valor para ParameterSetName en un cmdlet de script (Función avanzada).

Respuesta

2

Como una forma de ampliar esta respuesta impresionante:

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

El __AllparameterSets es la opción por defecto en PS

14

Uso $PsCmdlet.ParameterSetName:

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

    } 
    "FromUri_ParamSet" { 

    } 
} 
Cuestiones relacionadas