2017-03-18 2 views
0

나는 powershell 모듈에 함수를 넣고 한 상황에서 모듈을로드하고 루프에서 함수를 호출하는 시나리오가 있지만 다른 상황에서는 모듈을로드하고 Runspace를 사용하여 함수를 병렬로 사용하려고합니다. 하지만, 지금까지 내가 알 수있는 한, 변수로 함수를 값으로 할당하거나 함수를 사용하여 작업을 작성할 수 없습니다. 그게 맞습니까? 저는 두 곳의 코드를 하나의 스크립트에서 하나의 함수로, 다른 하나를 스크립트 블록으로 유지해야 할 필요가 있습니까? 아니면 누락 된 대안이 있습니까?스크립트 블록이 아닌 함수로 runspacepool 작업

답변

2
Function Get-Example 
{ 
    Write-Verbose -Verbose "This is an example" 
} 

$block = (Get-Command Get-Example).ScriptBlock 
Start-Job -ScriptBlock $block 
+0

니스. 궁금합니다. 함수가 사용자 정의 모듈의 일부가되고 동일한 모듈 내의 다른 함수에 종속 된 경우 (custom 모듈이 $ env : PSModulePath에서 사용 가능하다고 가정하면) 어떻게 될까요? 필요한 경우 생성 된 작업으로 모듈을 자동로드 할 수 있다고 가정합니다. – Robin

+0

필자는 함수에서 스크립트 블록을 정확히 얻었습니다. 그리고 그것이 스크립트 모듈 인 경우에만. 다른 모듈을 가져 오려면'Start-Job -InitializationScript'와 같은 것을 할 필요가 있습니다. –

관련 문제