Bac*_*ave 5 powershell powershell-workflow
如何从嵌套的InlineScript中调用工作流中的函数?以下内容引发异常,因为该函数超出InlineScript的范围:
Workflow test
{
function func1
{
Write-Verbose "test verbose" -verbose
}
InlineScript
{
func1
}
}
test
Run Code Online (Sandbox Code Playgroud)
“内联脚本活动在标准的非工作流 Windows PowerShell 会话中运行命令,然后将输出返回到工作流。”
在这里阅读更多内容。
每个内联脚本都在新的 PowerShell 会话中执行,因此它对父工作流中定义的任何函数不可见。您可以使用以下语句将变量传递给工作流$Using:,
workflow Test
{
$a = 1
# Change the value in workflow scope usin $Using: , return the new value.
$a = InlineScript {$a = $Using:a+1; $a}
"New value of a = $a"
}
Test
PS> New value of a = 2
Run Code Online (Sandbox Code Playgroud)
但不是一个函数或模块。
| 归档时间: |
|
| 查看次数: |
7211 次 |
| 最近记录: |