Debug-Job
Debugs a running background or remote job.
Syntax
Debug-Job
[-Job] <Job>
[-BreakAll]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Debug-Job
[-Name] <String>
[-BreakAll]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Debug-Job
[-Id] <Int32>
[-BreakAll]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Debug-Job
[-InstanceId] <Guid>
[-BreakAll]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Beschreibung
Mit dem Cmdlet Debug-Job
können Sie Skripts debuggen, die in Aufträgen ausgeführt werden. Das Cmdlet dient zum Debuggen von 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 ausgeführte Skript. Der Debugger quit
Befehl beendet den Auftrag und das Ausführen des Skripts. Der befehl exit
trennt den Debugger und ermöglicht es dem Auftrag, den Vorgang fortzusetzen.
Beispiele
Beispiel 1: Debuggen eines Auftrags nach Auftrags-ID
Dieser Befehl bricht in einen ausgeführten Auftrag mit einer ID von 3 auf.
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"
Parameter
-BreakAll
Ermöglicht es Ihnen, sofort an der aktuellen Position zu unterbrechen, wenn der Debugger angefügt wird.
Dieser Parameter wurde in PowerShell 7.2 hinzugefügt.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Confirm
Fordert Sie vor dem Ausführen des Cmdlets zur Bestätigung auf.
Typ: | SwitchParameter |
Aliase: | cf |
Position: | Named |
Standardwert: | False |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | 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.
Typ: | Int32 |
Position: | 0 |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-InstanceId
Gibt die Instanz-ID-GUID eines ausgeführten Auftrags an.
Typ: | Guid |
Position: | 0 |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Job
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 zurückgibt, den Sie in einer Variablen debuggen möchten, und dann die Variable als Wert dieses Parameters angeben.
Typ: | Job |
Position: | 0 |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | 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 Parameter JobName hinzufügen, in Cmdlets wie Invoke-Command
und Start-Job
.
Typ: | String |
Position: | 0 |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-WhatIf
Zeigt, was passiert, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.
Typ: | SwitchParameter |
Aliase: | wi |
Position: | Named |
Standardwert: | False |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Eingaben
System.Management.Automation.RemotingJob