Powershell 从另一个上下文在脚本块中定义的引用函数
我试图调用在scriptblock之外的scriptblock内声明的函数,但PS无法解析它。这是我的密码Powershell 从另一个上下文在脚本块中定义的引用函数,powershell,powershell-4.0,Powershell,Powershell 4.0,我试图调用在scriptblock之外的scriptblock内声明的函数,但PS无法解析它。这是我的密码 $ScriptBlock={ function Get-Baz(){ Write-Host "Baz executed" } function Get-Foo(){ Write-Host "Foo executed" } } Get-Baz <--
$ScriptBlock={
function Get-Baz(){
Write-Host "Baz executed"
}
function Get-Foo(){
Write-Host "Foo executed"
}
}
Get-Baz <--The term 'Get-Baz' is not recognized as the name of a cmdlet, function, script
$ScriptBlock={
函数Get-Baz(){
写入主机“Baz已执行”
}
函数Get-Foo(){
写入主机“Foo已执行”
}
}
Get Baz定义脚本块不会在其中执行任何操作
通常使用执行脚本块,但这会在不同的作用域中执行脚本块,因此无法工作
相反,您需要在当前范围内执行scriptblock。为此,请使用以下命令:
$ScriptBlock={
function Get-Baz(){
Write-Host "Baz executed"
}
function Get-Foo(){
Write-Host "Foo executed"
}
}
. $ScriptBlock
Get-Baz