次の方法で共有


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

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

まとめ

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

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

  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 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 フィードバック コミュニティに製品フィードバックを送信することもできます。