Улучшение ответа @ Rynant:
Вы можете определить функцию как обычно в основной части скрипта:
Function FOO
{
Write-Host "HEY"
}
, а затем перезапустите это определение в блоке сценария:
$export_functions = [scriptblock]::Create(@"
Function Foo { $function:FOO }
"@)
(имеет смысл, если у вас есть существенное тело функции), а затем передайте их Start-Job
, как указано выше:
Start-Job -ScriptBlock {FOO} -InitializationScript $export_functions| Wait-Job | Receive-Job
Мне нравится этот способ, поскольку отладочные задания легче выполнять, выполняя их локально под отладчиком.