为了创建一些可重用的PowerShell代码,我尝试对子Runbook进行内联调用。我是PowerShell和Azure Automation的新手。
到目前为止,我从父工作簿对子Runbook进行内联调用的所有尝试都失败了,并出现以下错误:
术语‘./<name_of_Child_runbook>.ps1’未被识别为cmdlet、函数、脚本文件或可执行程序的名称。请检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。
这两本Runbook都是PowerShell(7.1版)。这两个Runbook驻留在同一个Automation帐户下。
为了清楚起见,我试着把它简化为最简单的形式。以下是名为*rnbk_TEST_CHILD的子Runbook**的内容。
Write-Output "Hello, this is the child runbook."
父Runbook也有一行代码,如下所示:
./rnbk_test_child.ps1
在创建和测试父Runbook之前,我首先发布子Runbook。我主要是根据本文中的信息进行工作的。
2条答案
按热度按时间68bkxrlz1#
可以使用
Az.Automation
模块中的Az cmdletStart-AzAutomationRunbook
调用子Runbook。有关用法的文档:https://learn.microsoft.com/en-us/powershell/module/az.automation/start-azautomationrunbook?view=azps-7.4.0
vohkndzv2#
我不确定您是否已经弄明白了这一点,但据我所知,您在父Runbook中需要做的就是调用子Runbook,就像它是内联PowerShell函数一样
E.g
如果Runbook名称中有下划线,我认为它不会起作用:s