Azure Automation Runbook でデバッグ ストリームをキャプチャする方法
元の製品バージョン: Azure Automation
元の KB 番号: 4022768
概要
既定では、Azure Automationではデバッグ ストリーム データはキャプチャされません。 Runbook がキャプチャするように構成されている場合は、出力、エラー、警告のデータだけでなく、詳細データのみがキャプチャされます。
デバッグ ストリーム データをキャプチャするには、Runbook で次の 2 つのアクションを実行する必要があります。
- デバッグ メッセージが検出されるたびに PowerShell に続行するように指示する変数 $GLOBAL:DebugPreference="Continue" を設定します。 $GLOBAL: 部分は、ステートメントの実行時にスクリプトが含まれるローカル スコープではなく、グローバル スコープでこれを行うように PowerShell に指示します。
- キャプチャしないデバッグ ストリームを、出力などのキャプチャを行うストリームにリダイレクトします。 これを行うには、実行するステートメントに対して PowerShell リダイレクトを設定します。 PowerShell リダイレクトの詳細については、「 About_Redirection」を参照してください。
例:
次の Runbook を指定します。
Write-Output "This is an output message."
Write-Debug "This is a debug message."
この Runbook をそのまま実行する場合、Azure Automationの 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 をステートメントの末尾に追加し、ストリーム 5 (デバッグ) をストリーム 1 (出力) にリダイレクトするように PowerShell に指示するためです。
お問い合わせはこちらから
質問がある場合やヘルプが必要な場合は、サポート要求を作成するか、Azure コミュニティ サポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。