0

我创建了具有一些已声明变量和一些函数的 Runbook A。

// Runbook A
$myvar = "test"
Function MyFunc($var1) {
  Write-Output $var1
}

// Runbook B
Write-Output $myvar
MyFunc

如何将 Runbook A 中的代码导入 Runbook B,以便使 Runbook A 中的代码可重用?

4

3 回答 3

0

为了解决这个问题,我创建了一个 powershell 模块 .psm1 文件。它允许我调用函数,但不允许我打印变量。仍在努力。

于 2017-07-27T18:39:56.763 回答
0

使用调用表达式

# 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 应发布并位于同一自动化帐户中

于 2021-08-05T01:23:07.680 回答
0

基本上,没有直接的方法可以满足您的要求。您不能将运行手册用作函数。但是您可以将运行手册创建为模块化并调用它们。

无需登录 Azure 即可调用 Runbook。Webhook看起来是一个更好的选择。

于 2017-07-27T05:54:08.007 回答