共用方式為


如何在 Azure 自動化 Runbook 中擷取偵錯數據流

原始產品版本:Azure 自動化
原始 KB 編號: 4022768

摘要

根據預設,Azure 自動化 不會擷取任何偵錯數據流數據。  如果 Runbook 設定為擷取,則只會擷取輸出、錯誤和警告數據,以及詳細信息數據。

若要擷取偵錯串流資料,您必須在 Runbook 中執行兩個動作:

  1. 設定變數 $GLOBAL:DebugPreference=“Continue”, 告知 PowerShell 在遇到偵錯訊息時繼續。 $GLOBAL: 部分會指示 PowerShell 在全域範圍執行此動作,而不是在執行陳述式時指令碼所在的任何本機範圍內執行。
  2. 將我們不會擷取的偵錯串流重新導向至我們會擷取的串流,例如輸出。 若要進行此作業,請針對要執行的陳述式設定 PowerShell 重新導向。  如需PowerShell重新導向的詳細資訊,請參閱 About_Redirection

例如:

假設有下列 Runbook:

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

如果要執行此 Runbook,Azure 自動化 中 Runbook 作業的輸出窗格會顯示下列內容:

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=“Continue” 會告訴 PowerShell 顯示偵錯訊息,然後繼續,並將 5&1 新增至任何語句的結尾,這會指示 PowerShell 將數據流 5> (debug) 重新導向至數據流 1(輸出)。

與我們連絡,以取得說明

如果您有問題或需要相關協助,請建立支援要求,或詢問 Azure community 支援。 您也可以向 Azure 意見反應社群提交產品意見反應。