Jak przechwytywać strumień debugowania w Azure Automation elementach Runbook
Oryginalna wersja produktu: Azure Automation
Oryginalny numer KB: 4022768
Podsumowanie
Domyślnie Azure Automation nie przechwytuje żadnych danych strumienia debugowania. Tylko dane wyjściowe, błędy i dane ostrzegawcze są przechwytywane, a także pełne dane, jeśli element Runbook jest skonfigurowany do jego przechwytywania.
Aby przechwycić dane strumienia debugowania, należy wykonać dwie akcje w elementach Runbook:
- Ustaw zmienną $GLOBAL:DebugPreference="Continue", która informuje program PowerShell o kontynuowaniu po napotkaniu komunikatu debugowania. Część $GLOBAL: informuje program PowerShell, aby zrobił to w zakresie globalnym, a nie w zakresie lokalnym, w jakim znajduje się skrypt w momencie wykonywania instrukcji.
- Przekieruj strumień debugowania, który nie jest przechwytywane do strumienia, który przechwytujemy, taki jak dane wyjściowe. W tym celu należy ustawić przekierowywanie programu PowerShell względem instrukcji, która ma zostać wykonana. Aby uzyskać więcej informacji na temat przekierowania 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 ma zostać wykonany w taki sam jak jest, w okienku danych wyjściowych zadania elementu Runbook w Azure Automation zostaną wyświetlone 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 zostaną wyświetlone 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 5>&1 na końcu dowolnej instrukcji, która informuje program PowerShell o przekierowaniu strumienia 5 (debug) 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 platformy Azure.