Azure Automation Runbook でデバッグ ストリームをキャプチャする方法
元の製品バージョン: Azure Automation
元の KB 番号: 4022768
まとめ
既定では、Azure Automation はデバッグ ストリーム データをキャプチャしません。 Runbook がキャプチャするように構成されている場合は、出力、エラー、および警告データのみがキャプチャされ、詳細データもキャプチャされます。
デバッグ ストリームのデータをキャプチャするには、Runbook で次の 2 つのアクションを実行する必要があります。
- 変数 $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 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 フィードバック コミュニティに製品フィードバックを送信することもできます。