한 가지 방법은 [scriptBlock] :: 메소드를 사용하여 로컬 변수를 사용하여 확장 가능한 문자열에서 스크립트 블록을 작성하는 것입니다.
$v1 = "123"
$v2 = "asdf"
$sb = [scriptblock]::Create("Write-Host 'Values are: $v1, $v2'")
$job = Start-Job -ScriptBlock $sb
또 다른 방법은 초기화 스크립트에서 변수를 설정하는 것입니다.
$Init_Script = {
$v1 = "123"
$v2 = "asdf"
}
$sb = {
Write-Host "Values are: $v1, $v2"
}
$job = Start-Job -InitializationScript $Init_Script -ScriptBlock $sb
세 번째 옵션은 -argumentlist 매개 변수를 사용하는 것입니다.
$v1 = "123"
$v2 = "asdf"
$sb = {
Write-Host "Values are: $($args[0]), $($args[1])"
}
$job = Start-Job -ScriptBlock $sb -ArgumentList $v1,$v2