Recientemente descubrí que las funciones de Powershell son simplemente llamadas scriptblocks. Por ejemploNombre del comando de referencia con guiones
function HelloWorld {
Write-Output "Hello world"
}
$hw = $function:HelloWorld
& $hw
ejecutará el método HelloWorld.
Sin embargo, lo que no he sido capaz de averiguar, es cómo obtener una referencia a un método que tiene un guión en su nombre:
function Hello-World {
Write-Output "Hello world"
}
$hw = $function:Hello-World
You must provide a value expression on the right-hand side of the '-' operator.
At line:1 char:27
+ $hw = $function:Hello- <<<< World
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : ExpectedValueExpression
¿Alguna idea?
Soy consciente de que podía hacer algo como:
$hw = (Get-Item function:Hello-World).ScriptBlock
pero es un poco "ruidoso" y me gusta la sintaxis de la función $
Esto no funciona para mí. Ejecutar $ {función: Get-Item} no da nada – digitguy