Я написал следующий код:
cls
function GetFoo() {
function GetBar() {
$bar = "bar"
$bar
}
$foo = "foo"
$bar = GetBar
$foo
$bar
}
$cred = Get-Credential "firmwide\srabhi_adm"
$result = Invoke-Command -Credential $cred -ComputerName localhost
-ScriptBlock ${function:GetFoo}
Write-Host $result[0]
Write-Host $result[1]
Это работает, но я не хочу определять GetBar
внутри GetFoo
.
Могу ли я сделать что-то подобное?
cls
function GetBar() {
$bar = "bar"
$bar
}
function GetFoo() {
$foo = "foo"
$bar = GetBar
$foo
$bar
}
$cred = Get-Credential "firmwide\srabhi_adm"
$result = Invoke-Command -Credential $cred -ComputerName localhost
-ScriptBlock ${function:GetFoo; function:GetBar; call GetFoo}
Write-Host $result[0]
Write-Host $result[1]
По сути, я выборочно помещаю функции, которые мне нужны, в ScriptBlock, а затем вызываю одну из них. Таким образом, мне не нужно определять функцию внутри функции, и я могу создать ScriptBlock, внедрив функции, которые я хочу сделать частью этого ScriptBlock.