如何在Logic App中将PowerShell输出格式化为表格邮件
解决方法
一、先调整Runbook的输出格式(核心前提)
Get Job Output拿的是Runbook的原始输出,要生成整齐的表格,得先让Runbook输出结构化的JSON数据,别直接输出哈希表的原生字符串。
- 在你的PowerShell Runbook里,把哈希表转成JSON格式输出:
这样Runbook输出的就是JSON数组,每个元素都包含Webhook名称和过期日期两个明确字段。# 假设你已经把Webhook过期日期存在$webhookExpiry哈希表里 $webhookList = @() foreach ($key in $webhookExpiry.Keys) { $webhookList += [PSCustomObject]@{ "Webhook名称" = $key "过期日期" = $webhookExpiry[$key] } } # 输出标准JSON,方便Logic App解析 $webhookList | ConvertTo-Json -Depth 10
二、在Logic App里处理输出并生成表格
解析Runbook的JSON输出:
- 添加「Parse JSON」动作,把Get Job Output返回的
Content作为输入。 - 点击「使用示例有效负载生成架构」,粘贴Runbook输出的JSON示例(比如
[{"Webhook名称":"Hook1","过期日期":"2024-12-31"},{"Webhook名称":"Hook2","过期日期":"2024-06-30"}]),自动生成解析用的JSON架构。
- 添加「Parse JSON」动作,把Get Job Output返回的
生成HTML表格:
- 添加「Create HTML table」动作,把Parse JSON输出的数组(动态内容里的
Body)拖进来作为输入。 - 列配置选「自动生成列」即可,或者手动指定列名对应JSON里的字段,确保和你定义的一致。
- 添加「Create HTML table」动作,把Parse JSON输出的数组(动态内容里的
配置邮件发送:
- 在邮件的正文区域,插入「Create HTML table」的输出(动态内容里找
Output)。 - 注意要把邮件正文格式设为HTML(多数邮件连接器默认支持,要是有选项记得勾选)。
- 在邮件的正文区域,插入「Create HTML table」的输出(动态内容里找
三、测试验证
- 先跑一遍Runbook,确认输出是正确的JSON格式。
- 触发Logic App,查收邮件,看正文里的表格是不是整齐对应,数据没有错乱。
内容的提问来源于stack exchange,提问作者gaurav sharma
相关产品推荐
相关产品推荐

