Comment capturer le flux de débogage dans des runbooks Azure Automation
Version du produit d’origine : Azure Automation
Numéro de base de connaissances d’origine : 4022768
Résumé
Par défaut, Azure Automation ne capture pas de données de flux de débogage. Seules les données de sortie, d’erreur et d’avertissement sont capturées, ainsi que les données détaillées si le runbook est configuré pour le capturer.
Pour capturer les données de flux de débogage, vous devez effectuer deux actions dans vos runbooks :
- Définissez la variable $GLOBAL :DebugPreference="Continue » qui indique à PowerShell de continuer chaque fois qu’un message de débogage est rencontré. La partie $GLOBAL: indique à PowerShell qu’il doit effectuer cette opération dans l’étendue globale plutôt que dans l’étendue locale où se trouve le script au moment de l’exécution de l’instruction.
- Redirigez le flux de débogage que nous ne capturons pas vers un flux que nous capturons, par exemple un flux de sortie. Pour ce faire, définissez la redirection PowerShell sur l’instruction à exécuter. Pour plus d’informations sur la redirection PowerShell, consultez About_Redirection.
Exemple :
Compte tenu du runbook suivant :
Write-Output "This is an output message."
Write-Debug "This is a debug message."
Si ce runbook devait être exécuté tel qu’il l’est, le volet de sortie de la tâche de runbook dans Azure Automation affiche les éléments suivants :
This is an output message.
Compte tenu du runbook suivant :
Write-Output "This is an output message."
$GLOBAL:DebugPreference="Continue"
Write-Debug "This is a debug message." 5>&1
Si ce runbook devait être exécuté, le volet de sortie affiche désormais les éléments suivants :
This is an output message.
This is a debug message.
Cela se produit parce que l’instruction $GLOBAL :DebugPreference="Continue » indique à PowerShell d’afficher les messages de débogage, puis de continuer et d’ajouter 5>&1 à la fin d’une instruction, ce qui indique à PowerShell de rediriger le flux 5 (débogage) vers le flux 1 (sortie).
Contactez-nous pour obtenir de l’aide
Pour toute demande ou assistance, créez une demande de support ou posez une question au support de la communauté Azure. Vous pouvez également soumettre des commentaires sur les produits à la communauté de commentaires Azure.