Jak przechwytywać strumień debugowania w elementach Runbook usługi Azure Automation
Oryginalna wersja produktu: Azure Automation
Oryginalny numer KB: 4022768
Podsumowanie
Domyślnie usługa Azure Automation nie przechwytuje żadnych danych strumienia debugowania. Przechwytywane są tylko dane wyjściowe, błędy i ostrzeżenia, a także pełne dane, jeśli element Runbook jest skonfigurowany do przechwytywania.
Aby przechwycić dane strumienia debugowania, należy wykonać dwie akcje w elementach Runbook:
- Ustaw zmienną $GLOBAL:DebugPreference="Continue" , która nakazuje programowi PowerShell kontynuowanie po napotkaniu komunikatu debugowania. $GLOBAL: część nakazuje programowi PowerShell wykonanie tej czynności w zakresie globalnym, a nie w zakresie lokalnym, w którym skrypt znajduje się w czasie wykonywania instrukcji.
- Przekieruj strumień debugowania, który nie przechwycimy do strumienia przechwyconego, takiego jak dane wyjściowe. Odbywa się to przez ustawienie przekierowania programu PowerShell względem instrukcji do wykonania. Aby uzyskać więcej informacji na temat przekierowywania programu PowerShell, zobacz About_Redirection.
Przykład:
Biorąc pod uwagę następujący element Runbook:
Write-Output "This is an output message."
Write-Debug "This is a debug message."
Jeśli ten element Runbook miał zostać wykonany w taki sposób, w okienku danych wyjściowych zadania elementu Runbook w usłudze Azure Automation będą wyświetlane następujące elementy:
This is an output message.
Biorąc pod uwagę następujący element Runbook:
Write-Output "This is an output message."
$GLOBAL:DebugPreference="Continue"
Write-Debug "This is a debug message." 5>&1
Jeśli ten element Runbook ma zostać wykonany, w okienku danych wyjściowych będą teraz wyświetlane następujące elementy:
This is an output message.
This is a debug message.
Dzieje się tak, ponieważ instrukcja $GLOBAL:DebugPreference="Continue" informuje program PowerShell o wyświetlaniu komunikatów debugowania, a następnie kontynuowaniu i dodawaniu wartości 5>&1 na końcu dowolnej instrukcji, która nakazuje programowi PowerShell przekierowanie strumienia 5 (debugowanie) do strumienia 1 (dane wyjściowe).
Skontaktuj się z nami, aby uzyskać pomoc
Jeśli masz pytania lub potrzebujesz pomocy, utwórz wniosek o pomoc techniczną lub zadaj pytanie w społeczności wsparcia dla platformy Azure. Możesz również przesłać opinię o produkcie do społeczności opinii na temat platformy Azure.