如何在 Azure 自動化 Runbook 中擷取偵錯數據流
原始產品版本:Azure 自動化
原始 KB 編號: 4022768
摘要
根據預設,Azure 自動化 不會擷取任何偵錯數據流數據。 如果 Runbook 設定為擷取,則只會擷取輸出、錯誤和警告數據,以及詳細信息數據。
若要擷取偵錯串流資料,您必須在 Runbook 中執行兩個動作:
- 設定變數 $GLOBAL:DebugPreference=“Continue”, 告知 PowerShell 在遇到偵錯訊息時繼續。 $GLOBAL: 部分會指示 PowerShell 在全域範圍執行此動作,而不是在執行陳述式時指令碼所在的任何本機範圍內執行。
- 將我們不會擷取的偵錯串流重新導向至我們會擷取的串流,例如輸出。 若要進行此作業,請針對要執行的陳述式設定 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 意見反應社群提交產品意見反應。