다음을 통해 공유


Azure Automation Runbook에서 디버그 스트림을 캡처하는 방법

원래 제품 버전: Azure Automation
원래 KB 번호: 4022768

요약

기본적으로 Azure Automation은 디버그 스트림 데이터를 캡처하지 않습니다.  Runbook이 캡처하도록 구성된 경우 출력, 오류 및 경고 데이터만 캡처되며 자세한 정보 표시 데이터도 캡처됩니다.

디버그 스트림 데이터를 캡처하려면 Runbook에서 다음 두 가지 작업을 수행해야 합니다.

  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을 추가하여 PowerShell이 스트림 5>(디버그)를 스트림 1(출력)으로 리디렉션하도록 지시하기 때문에 발생합니다.

도움을 요청하십시오.

질문이 있거나 도움이 필요한 경우 지원 요청을 생성하거나Azure 커뮤니티 지원에 문의하세요. Azure 피드백 커뮤니티에 제품 피드백을 제출할 수도 있습니다.