¿Reemplazar la referencia de función de devolución de llamada/acción literal de PowerShell con una variable de cadena?

¿Reemplazar la referencia de función de devolución de llamada/acción literal de PowerShell con una variable de cadena?

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?

información relacionada