次の方法で共有


Azure Automation Runbook でデバッグ ストリームをキャプチャする方法

元の製品バージョン: Azure Automation
元の KB 番号: 4022768

概要

既定では、Azure Automationではデバッグ ストリーム データはキャプチャされません。  Runbook がキャプチャするように構成されている場合は、出力、エラー、警告のデータだけでなく、詳細データのみがキャプチャされます。

デバッグ ストリーム データをキャプチャするには、Runbook で次の 2 つのアクションを実行する必要があります。

  1. デバッグ メッセージが検出されるたびに PowerShell に続行するように指示する変数 $GLOBAL:DebugPreference="Continue" を設定します。 $GLOBAL: 部分は、ステートメントの実行時にスクリプトが含まれるローカル スコープではなく、グローバル スコープでこれを行うように PowerShell に指示します。
  2. キャプチャしないデバッグ ストリームを、出力などのキャプチャを行うストリームにリダイレクトします。 これを行うには、実行するステートメントに対して 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 フィードバック コミュニティに製品フィードバックを送信することもできます。