使用 Azure 自动化图形创作 SDK 是检查和修改 .graphrunbok 文件内容的唯一受支持方式。例如,这样的脚本将为您提供 Runbook 使用的命令列表:
param(
[Parameter(Mandatory = $true)]
$RunbookPath,
$GraphicalAuthoringSDKPath = 'C:\Program Files (x86)\Microsoft Azure Automation Graphical Authoring SDK'
)
function Get-RunbookActivities($Runbook, $ActivityType)
{
$Runbook.Activities | %{ $_ -as $ActivityType } | ?{ $_ }
}
Add-Type -Path $GraphicalAuthoringSDKPath\Orchestrator.GraphRunbook.Model.dll
$SerializedRunbook = Get-Content $RunbookPath
$Runbook = [Orchestrator.GraphRunbook.Model.Serialization.RunbookSerializer]::Deserialize($SerializedRunbook)
@{
'Invoked runbooks' = Get-RunbookActivities $Runbook Orchestrator.GraphRunbook.Model.InvokeRunbookActivity |
%{ $_.RunbookActivityType.CommandName }
'Commands' = Get-RunbookActivities $Runbook Orchestrator.GraphRunbook.Model.CommandActivity |
%{ "$($_.CommandType.ModuleName)/$($_.CommandType.CommandName)" }
'Code activity content' = Get-RunbookActivities $Runbook Orchestrator.GraphRunbook.Model.WorkflowScriptActivity |
%{ $_.Process }
}
此脚本提供的数据不完整:它仅列出了在运行手册图上显示为框的活动。但是,还有其他方法可以将 PS 代码引入 Runbook(如链接条件、重试条件、活动参数中的 PS 表达式等)。如果您也对这些数据感兴趣,可以改进脚本:存储的所有数据可以使用此 API 检索图形运行手册中的内容。
请从 Chris 提供的链接下载最新版本的 SDK。最新版本包含一些重要的修复。