Начал изучать PowerShell. Пытаюсь вернуть из блока функцию, которая замыкается на другую функцию вот так:
$myFunction = Invoke-Command -ScriptBlock {
function Bar {
Write-Host World
}
function Foo {
Write-Host Hello
Bar
}
return ${function:Foo}
}
. $myFunction
В ответ получаю:
Hello
foreach : The term 'Bar' is not recognized as the name of a cmdlet, function, script file, or operable program.
Хочу получить:
Hello
World
При этом не хочу раскрывать функцию Bar в глобальную область видимости. Как в PowerShell сделать это?