gpt4 book ai didi

powershell - 导出的 Azure 自动化图形 Runbook 定义 (.graphrunbook) 如何编码/加密?

转载 作者:行者123 更新时间:2023-12-03 05:07:51 26 4
gpt4 key购买 nike

这是从 Azure 门户导出后 .graphrunbook 的(修剪后的)内容。

{ 
"SchemaVersion" : "1.2",
"RunbookDefinition" : "AAA....AAA="
}

Runbook 定义可能是基于 XML 或 XAML 的,虽然这看起来像 Base64 编码的文本,但对其进行解码会导致大部分内容仍然编码/难以辨认。

上下文:我正在开发 Sync-VsoGitRunbook 的改进版本,该版本可与 ARM 配合使用,不需要任意文件夹层次结构(通过自动确定依赖项),并且可以部署图形 Runbook以及 - 因为为什么不呢! native 和工作流程的所有内容几乎都已完成,这些只是要实现的最后一部分。

我目前没有使用任何图形运行手册,但如果/一旦我们使用,我希望它们与架构保持一致。我还计划在打包/清理代码后将其开源。

最佳答案

使用 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 }
}

此脚本提供的数据不完整:它仅列出了 Runbook 图表上显示为框的事件。但是,还有其他方法可以将 PS 代码引入 Runbook(例如链接条件、重试条件、事件参数中的 PS 表达式等)。如果您也对此数据感兴趣,则可以改进脚本:存储的所有数据可以使用此 API 检索图形 Runbook 中的内容。

请从 Chris 提供的链接下载最新版本的 SDK。最新版本包含一些重要的修复。

关于powershell - 导出的 Azure 自动化图形 Runbook 定义 (.graphrunbook) 如何编码/加密?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35733046/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com