Mit dem Cmdlet Debug-Job können Sie Skripts debuggen, die in Aufträgen ausgeführt werden.
Das Cmdlet dient zum Debuggen von Windows PowerShell-Workflowaufträgen, Hintergrundaufträgen und Aufträgen, die in Remotesitzungen ausgeführt werden.
Debug-Job akzeptiert ein ausgeführtes Auftragsobjekt, einen Namen, eine ID oder eine Instanz-ID als Eingabe und startet eine Debugsitzung für das Skript, das ausgeführt wird.
Der Befehl zum Beenden des Debuggers beendet den Auftrag und das Ausführen des Skripts.
Ab Windows PowerShell 5.0 trennt der Befehl exit den Debugger und ermöglicht die weitere Ausführung des Auftrags.
Beispiele
Beispiel 1: Debuggen eines Auftrags nach Auftrags-ID
PS C:\> Debug-Job -ID 3
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
3 Job3 RemoteJob Running True PowerShellIx TestWFDemo1.ps1
Entering debug mode. Use h or ? for help.
Hit Line breakpoint on 'C:\TestWFDemo1.ps1:8'
At C:\TestWFDemo1.ps1:8 char:5
+ Write-Output -InputObject "Now writing output:"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[DBG:PowerShellIx]: PS C:\> > list
3:
4: workflow SampleWorkflowTest
5: {
6: param ($MyOutput)
7:
8:* Write-Output -InputObject "Now writing output:"
9: Write-Output -Input $MyOutput
10:
11: Write-Output -InputObject "Get PowerShell process:"
12: Get-Process -Name powershell
13:
14: Write-Output -InputObject "Workflow function complete."
15: }
16:
17: # Call workflow function
18: SampleWorkflowTest -MyOutput "Hello"
Dieser Befehl bricht in einen ausgeführten Auftrag mit einer ID von 3 auf.
Parameter
-Confirm
Fordert Sie zur Bestätigung auf, bevor Sie das Cmdlet ausführen.
Parametereigenschaften
Typ:
SwitchParameter
Standardwert:
False
Unterstützt Platzhalter:
False
Nicht anzeigen:
False
Aliase:
vgl
Parametersätze
(All)
Position:
Named
Obligatorisch:
False
Wert aus Pipeline:
False
Wert aus Pipeline nach dem Eigenschaftsnamen:
False
Wert aus verbleibenden Argumenten:
False
-Id
Gibt die ID-Nummer eines ausgeführten Auftrags an.
Um die ID-Nummer eines Auftrags abzurufen, führen Sie das Cmdlet Get-Job aus.
Parametereigenschaften
Typ:
Int32
Standardwert:
None
Unterstützt Platzhalter:
False
Nicht anzeigen:
False
Parametersätze
JobIdParameterSet
Position:
0
Obligatorisch:
True
Wert aus Pipeline:
False
Wert aus Pipeline nach dem Eigenschaftsnamen:
False
Wert aus verbleibenden Argumenten:
False
-InstanceId
Gibt die Instanz-ID-GUID eines ausgeführten Einzelvorgangs an.
Um die InstanceId eines Auftrags abzurufen, führen Sie das Cmdlet Get-Job aus, und übergeben Sie die Ergebnisse an ein Format -*-Cmdlet, wie im folgenden Beispiel gezeigt:
Gibt ein ausgeführtes Auftragsobjekt an.
Die einfachste Möglichkeit, diesen Parameter zu verwenden, besteht darin, die Ergebnisse eines Get-Job-Befehls zu speichern, der den ausgeführten Auftrag, den Sie debuggen möchten, in einer Variablen zurückgibt, und dann die Variable als Wert dieses Parameters anzugeben.
Parametereigenschaften
Typ:
Job
Standardwert:
None
Unterstützt Platzhalter:
False
Nicht anzeigen:
False
Parametersätze
JobParameterSet
Position:
0
Obligatorisch:
True
Wert aus Pipeline:
True
Wert aus Pipeline nach dem Eigenschaftsnamen:
True
Wert aus verbleibenden Argumenten:
False
-Name
Gibt einen Auftrag anhand des Anzeigenamens des Auftrags an.
Wenn Sie einen Auftrag starten, können Sie einen Auftragsnamen angeben, indem Sie den JobName-Parameter in Cmdlets wie Invoke-Command und Start-Job hinzufügen.
Parametereigenschaften
Typ:
String
Standardwert:
None
Unterstützt Platzhalter:
False
Nicht anzeigen:
False
Parametersätze
JobNameParameterSet
Position:
0
Obligatorisch:
True
Wert aus Pipeline:
False
Wert aus Pipeline nach dem Eigenschaftsnamen:
False
Wert aus verbleibenden Argumenten:
False
-WhatIf
Zeigt, was passiert, wenn das Cmdlet ausgeführt wird.
Das Cmdlet wird nicht ausgeführt.
Parametereigenschaften
Typ:
SwitchParameter
Standardwert:
False
Unterstützt Platzhalter:
False
Nicht anzeigen:
False
Aliase:
Wi
Parametersätze
(All)
Position:
Named
Obligatorisch:
False
Wert aus Pipeline:
False
Wert aus Pipeline nach dem Eigenschaftsnamen:
False
Wert aus verbleibenden Argumenten:
False
CommonParameters
Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.