PowerShell Liternal Action/CallBack 함수 참조를 문자열 변수로 바꾸시겠습니까?

PowerShell Liternal Action/CallBack 함수 참조를 문자열 변수로 바꾸시겠습니까?

Powershell 명령이 있으면 ...

$theEvent=Register-ObjectEvent -InputObject $theWatcher -EventName EventRecordWritten -SourceIdentifier $theId -Action { OnEvent $($args[$ONE]) }

'OnEvent'가 함수로 정의된 경우 위의 작업이 작동합니다. 이벤트가 실행되면 작업 설정이 하나의 매개변수를 전달하는 콜백을 호출합니다.

하지만 정의된 함수의 이름이 포함된 문자열 변수를 전달해야 합니다. 다음과 같은 작업을 수행하세요.

$theAction="OnEvent"    
$theEvent=Register-ObjectEvent -InputObject $theWatcher -EventName EventRecordWritten -SourceIdentifier $theId -Action { $theAction $($args[$ONE]) }

어떻게 그런 일을 할 수 있나요? 분명히 '{' 및 '}'가 코드 스크립트 블록을 생성하고 있지만 '$theAction' 문자열을 평가하고 해당 변수를 함수 포인터로 바꾸는 방법을 모르시나요? OnEvent 함수를 가리키나요?

관련 정보