摘要

默认情况下 Azure 自动化不会捕获任何调试流数据。 只输出,错误和警告数据捕获详细数据以及如果将 runbook 配置为捕获它。

为了捕获调试流数据我们不得不在我们运行手册中执行两个操作:

  1. 设置变量$GLOBAL: DebugPreference ="继续"据 PowerShell 继续遇到的调试消息。 $GLOBAL: 部分告诉 PowerShell 为此在全球范围内,而不是任何本地范围的脚本是在执行该语句时。

  2. 将我们不捕获调试流重定向到一个流,我们不要捕获输出等。 这是根据要执行的语句的 PowerShell 重定向设置。 在 PowerShell 重定向的详细信息,请参阅About_Redirection

例如:

给出下面的 runbook:

Write-Output "This is an output message."
Write-Debug "This is a debug message."

如果按原样执行此 runbook,runbook 作业 Azure 自动化中的输出窗格中将显示下列:

This is an output message.

给出下面的 runbook:

Write-Output "This is an output message."
$GLOBAL:DebugPreference="Continue"
Write-Debug "This is a debug message." 5>&1

如果要执行此 runbook,输出窗格现在将显示以下:

This is an output message.
This is a debug message.

这是因为语句 $GLOBAL: DebugPreference ="继续"告诉 PowerShell 显示调试消息,然后继续并加上的 5 > & 1 到任何指明 PowerShell 重定向语句的末尾流 5 (调试) 进行流式处理 1 (输出).

更多信息

(此部分有意留为空白)

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?

Thank you for your feedback!

×