Eine Möglichkeit besteht darin, die [scriptBlock] :: methode erstellen zu verwenden, um den Skriptblock aus einer erweiterbaren Zeichenfolge mit lokalen Variablen zu erstellen:
$v1 = "123"
$v2 = "asdf"
$sb = [scriptblock]::Create("Write-Host 'Values are: $v1, $v2'")
$job = Start-Job -ScriptBlock $sb
Eine andere Methode besteht darin, Variablen im Initializationscript festzulegen:
$Init_Script = {
$v1 = "123"
$v2 = "asdf"
}
$sb = {
Write-Host "Values are: $v1, $v2"
}
$job = Start-Job -InitializationScript $Init_Script -ScriptBlock $sb
Eine dritte Option besteht darin, den Parameter -ArgumentList zu verwenden:
$v1 = "123"
$v2 = "asdf"
$sb = {
Write-Host "Values are: $($args[0]), $($args[1])"
}
$job = Start-Job -ScriptBlock $sb -ArgumentList $v1,$v2