
Si tengo un comando de PowerShell...
$theEvent=Register-ObjectEvent -InputObject $theWatcher -EventName EventRecordWritten -SourceIdentifier $theId -Action { OnEvent $($args[$ONE]) }
Cuando se define la función 'OnEvent', lo anterior funciona, cuando el evento se activa, la configuración de la acción invoca la devolución de llamada pasando un parámetro.
Sin embargo, necesito pasar una variable de cadena con el nombre de la función definida, hacer algo como...
$theAction="OnEvent"
$theEvent=Register-ObjectEvent -InputObject $theWatcher -EventName EventRecordWritten -SourceIdentifier $theId -Action { $theAction $($args[$ONE]) }
¿Cómo se hace eso? Claramente, '{' y '}' están creando un bloque de secuencia de comandos de código, pero ¿no estás seguro de cómo lograr que evalúe la cadena '$theAction' y reemplace dicha variable con un puntero de función? ¿Apuntando la función OnEvent?