Azure 自动化是否支持写入信息?

Does Azure Automation support Write-Information?

我想将信息日志写入 Azure 自动化作业日志。我创建了简单的 PowerShell 运行手册

$InformationPreference = "Continue"
Write-Information "Hello info" 
Write-Verbose "Hello Verbose"
Write-Warning "Hello warning"
Write-Error "Hello error"

并且在运行手册执行中所有日志我只看到详细、警告和错误日志

如果禁用 Runbook 详细日志,我只会看到警告和错误。它在本地运行良好,但在 Azure 中却不行。我也试过 Write-Information "Hello info" -InformationAction Continue - 没用。

Write-Information 出现在 PowerShell 5.0 中。我已经使用 $PSVersionTable 检查了 Azure Automation 沙箱机器中的 PS 版本 - 它超过 5 个。所以,应该可以工作。

你知道他们支持不支持吗?

如果您想将信息日志写入 Azure 自动化作业日志,我建议您使用 write-output。 具体可以参考这个article.

我不确定 runbook 是否支持 write-information。我在我身边测试它,同时我测试了 cmdlet write-host,它是 write-information 的包装器。但是他们两个都没有消息输出。

提出support ticket要求MS确认。

希望这对您有所帮助。

Azure 自动化目前不完全支持信息流。 PowerShell 5 支持不够:您的 runbook 不会失败,但自动化不会捕获和存储信息流内容,这就是您不会在日志中看到它的原因。

我希望 Azure 自动化中可以使用写入信息。

在您想要 return 其他东西(如布尔值)的函数中使用 Write-Output 是很有问题的。