在 Azure 自动化中管理 Runbook

可以通过以下方法将 Runbook 添加到 Azure 自动化:创建新的 Runbook 或从文件中导入现有 Runbook。 本文介绍如何通过文件创建和导入 Runbook。

创建 runbook

可以使用其中一个 Azure 门户或 Windows PowerShell 在 Azure 自动化中创建一个新的 Runbook。 一旦创建了 Runbook,便可以利用了解 PowerShell 工作流Azure 自动化中的图形创作中的信息对其进行编辑。

在 Azure 门户中创建 Runbook

  1. 在 Azure 门户中,打开自动化帐户。
  2. 从中心单击“Runbook”,打开 Runbook 的列表。
  3. 单击“添加 Runbook”按钮,并单击“创建新 Runbook”。
  4. 键入 Runbook 的名称,并选择其类型。 Runbook 名称必须以字母开头,可以使用字母、数字、下划线和短划线。
  5. 单击“创建”以创建 Runbook 并打开编辑器。

通过 PowerShell 创建 Runbook

可以使用 New-AzureRmAutomationRunbook cmdlet 创建空的 PowerShell 工作流 Runbook。 使用类型参数指定四种 Runbook 类型之一。

以下示例命令演示了如何创建新的空 Runbook。

New-AzureRmAutomationRunbook -AutomationAccountName MyAccount `
-Name NewRunbook -ResourceGroupName MyResourceGroup -Type PowerShell

导入 Runbook

可以在 Azure 自动化中创建新的 Runbook,方法是导入 PowerShell 脚本或 PowerShell 工作流(扩展名为 .ps1)、导出的图形 Runbook (.graphrunbook) 或 Python 2 脚本(扩展名为.py)。 必须指定在导入期间创建的 Runbook 类型,并考虑以下注意事项。

  • .graphrunbook 文件只能导入到新的图形 Runbook 中,并且只能从 .graphrunbook 文件创建图形 Runbook。
  • 包含 PowerShell 工作流的 .ps1 文件只能导入到 PowerShell 工作流 Runbook 中。 如果该文件包含多个 PowerShell 工作流,导入将失败。 必须将每个工作流保存到各自的文件中,并分别导入每个工作流。
  • 不包含工作流的 .ps1 文件可以导入到 PowerShell Runbook 中,也可以导入到 PowerShell 工作流 Runbook 中。 如果将它导入到 PowerShell 工作流 Runbook 中,则会将其转换为工作流,并会在 Runbook 中添加注释,详述所做的更改。

使用 Azure 门户通过文件导入 Runbook

可通过以下过程将脚本文件导入 Azure 自动化。

Note

请注意,只能通过此门户将 .ps1 文件导入 PowerShell 工作流 Runbook。

  1. 在 Azure 门户中,打开自动化帐户。
  2. 从中心单击“Runbook”,打开 Runbook 的列表。
  3. 单击“添加 Runbook”按钮,并单击“导入”。
  4. 单击“Runbook 文件”以选择要导入的文件
  5. 如果“名称”字段已启用,则可以选择更改它。 Runbook 名称必须以字母开头,可以使用字母、数字、下划线和短划线。
  6. 将自动选择 Runbook 类型,但可以在考虑适用的限制后更改该类型。
  7. 新的 runbook 会出现在自动化帐户的 runbook 列表中。
  8. 必须先 发布 Runbook ,才能运行它。

Note

在导入图形 Runbook 或图形 PowerShell 工作流 Runbook 后,可以选择转换为其他类型(如果需要)。 无法转换为文本 runbook。

使用 Windows PowerShell 从脚本文件中导入 Runbook

可以使用 Import-AzureRMAutomationRunbook cmdlet 将脚本文件导入为 PowerShell 工作流草稿 Runbook。 如果 Runbook 已存在,除非使用 -Force 参数,否则导入会失败。

下面的示例命令演示了如何将脚本文件导入到 Runbook 中。

$automationAccountName =  "AutomationAccount"
$runbookName = "Sample_TestRunbook"
$scriptPath = "C:\Runbooks\Sample_TestRunbook.ps1"
$RGName = "ResourceGroup"

Import-AzureRMAutomationRunbook -Name $runbookName -Path $scriptPath `
-ResourceGroupName $RGName -AutomationAccountName $automationAccountName `
-Type PowerShellWorkflow

测试 Runbook

测试 Runbook 时,将执行草稿版,并会完成其执行的任何操作。 不会创建作业历史记录,但会在“测试输出”窗格中显示“输出”“警告和错误”流。 仅当 $VerbosePreference 变量设置为 Continue 时,才会在“输出”窗格中显示发送到详细流的消息。

即使草稿版正在运行,该 Runbook 也仍会正常执行,并针对环境中的资源执行任何操作。 因此,只能在非生产资源中测试 Runbook。

测试每种 Runbook 类型的过程是相同的,并且在 Azure 门户中文本编辑器和图形编辑器之间进行测试没有区别。

  1. 文本编辑器图形编辑器中打开 Runbook 的草稿版本。
  2. 单击“测试”按钮以打开“测试”页。
  3. 如果 Runbook 有参数,参数会在左窗格中列出,可以在其中提供用于测试的值。
  4. 保留默认值 Azure 可在云中运行测试。
  5. 单击“开始”按钮以开始测试。
  6. 如果 Runbook 是 PowerShell 工作流 Runbook 或图形 Runbook,则在使用“输出”窗格下方的按钮对它进行测试时,可以使其停止或暂停。 暂停 Runbook 时,该 Runbook 会完成它在被暂停之前正在进行的活动。 暂停 Runbook 后,可以将它停止或重启。
  7. 在输出窗格中检查 Runbook 的输出。

发布 Runbook

创建或导入新的 Runbook 时,必须先将其发布,才能导入。 自动化中的每个 Runbook 都有草稿版和已发布版。 只有已发布版才能用来运行,只有草稿版才能用来编辑。 已发布版不受对草稿版所做的任何更改的影响。 当草稿版可以使用时,可以发布草稿版,这样草稿版就会覆盖已发布版。

Azure 门户

  1. 在 Azure 门户中打开 Runbook。
  2. 单击“编辑”按钮。
  3. 单击“发布”按钮,并在出现验证消息时单击“是”。

PowerShell

可以使用 Windows PowerShell,通过 Publish-AzureRmAutomationRunbook cmdlet 来发布 Runbook。 以下示例命令显示了如何发布示例 Runbook。

$automationAccountName =  "AutomationAccount"
$runbookName = "Sample_TestRunbook"
$RGName = "ResourceGroup"

Publish-AzureRmAutomationRunbook -AutomationAccountName $automationAccountName `
-Name $runbookName -ResourceGroupName $RGName

后续步骤