Estoy intentando escribir una función de envoltura en PowerShell que básicamente evalúa el primer parámetro y en función de que ejecuta un programa en la computadora. Todos los parámetros restantes para la función de envoltura deben pasar al programa que se ejecuta también.Función de envoltura en PowerShell: Pase los parámetros restantes
lo tanto, debe ser algo como esto:
function test ([string] $option)
{
if ($option -eq 'A')
{
Write-Host $args
}
elseif ($option -eq 'B')
{
. 'C:\Program Files\some\program.exe' $args
}
}
Ahora sólo añadir $args
no funciona, así que lo que tengo que hacer para que funcione? Otra opción sería probablemente usar Invoke-Expression
, pero se siente un poco como eval
, así que quiero evitarlo si es posible, y además creo que hacerlo de esa manera me limitaría a los parámetros solo de cadena ¿no? De ser posible, me gustaría tener el soporte completo para el programa envuelto/cmdlet, básicamente como un alias dinámico. ¿Es eso posible?