【发布时间】:2021-11-14 16:40:23
【问题描述】:
我想知道是否有一种方法可以在 Azure 自动化的单独运行手册中定义常用函数?例如,我有一个日志记录功能,可以为消息添加时间戳,并在我在多个运行手册中使用的错误时退出。我想定义一次,然后从其他运行手册中调用它。如果我以后改变它,我只需要在一个地方改变它。
我知道我可以定义父/子 Runbook 并将它们内联调用,这让我想知道是否可以拆分出一个函数定义,例如,然后从另一个 Runbook 调用该 Runbook 以将函数“导入”到当前运行手册。例如,我有一个名为“Test-FunctionDefinition”的运行手册,其中包含以下代码:
function Test-FunctionDefintion() {
param (
[String] $TestParam
)
Write-Output "Output from test function: $TestParam"
}
我希望能够像这样从另一个运行手册内联调用它来定义函数,然后能够使用该函数:
& .\Test-FunctionDefinition.ps1
Test-FunctionDefinition -TestParam "Test String"
我尝试创建两个 Runbook,但它似乎在第 1 行调用 Runbook“Test-FunctionDefiniton”很好,随后在第 3 行调用该函数失败:
Test-FunctionDefinition:术语“Test-FunctionDefinition”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。
我正在尝试做的事情可能吗?我意识到我可以修改我的运行手册并致电& .\Test-FunctionDefinition.ps1 -TestParam "Test String",但如果可能的话,我更愿意以其他方式进行。
【问题讨论】:
标签: powershell azure-automation