我创建了具有一些已声明变量和一些函数的 Runbook A。
// Runbook A
$myvar = "test"
Function MyFunc($var1) {
Write-Output $var1
}
// Runbook B
Write-Output $myvar
MyFunc
如何将 Runbook A 中的代码导入 Runbook B,以便使 Runbook A 中的代码可重用?
我创建了具有一些已声明变量和一些函数的 Runbook A。
// Runbook A
$myvar = "test"
Function MyFunc($var1) {
Write-Output $var1
}
// Runbook B
Write-Output $myvar
MyFunc
如何将 Runbook A 中的代码导入 Runbook B,以便使 Runbook A 中的代码可重用?
为了解决这个问题,我创建了一个 powershell 模块 .psm1 文件。它允许我调用函数,但不允许我打印变量。仍在努力。
使用调用表达式
# Runbook_A
$global:FX = @'
$myvar = "test"
Function MyFunc($var1) {
Write-Output $var1
}
'@
在父模块中:
# RunBook_B
.\Runbook_A.ps1
Invoke-Expression $global:FX
Write-Output $myvar
MyFunc "Hello $myvar"
输出:
test
Hello test
注意: Runbook_A 应发布并位于同一自动化帐户中
基本上,没有直接的方法可以满足您的要求。您不能将运行手册用作函数。但是您可以将运行手册创建为模块化并调用它们。
无需登录 Azure 即可调用 Runbook。Webhook看起来是一个更好的选择。