Debug-Job
Fouten opsporen in een actieve achtergrond of externe taak.
Syntaxis
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>]
Description
Met de Debug-Job
-cmdlet kunt u fouten opsporen in scripts die worden uitgevoerd in taken. De cmdlet is ontworpen om fouten op te sporen in PowerShell Workflow-taken, achtergrondtaken en taken die worden uitgevoerd in externe sessies.
Debug-Job
accepteert een actief taakobject, naam, id of exemplaar-id als invoer en start een foutopsporingssessie op het script dat wordt uitgevoerd. De opdracht voor foutopsporingsprogramma quit
stopt de taak en voert het script uit. Met de opdracht exit
wordt het foutopsporingsprogramma losgekoppeld en kan de taak worden uitgevoerd.
Voorbeelden
Voorbeeld 1: Fouten opsporen in een taak op taak-id
Met deze opdracht wordt een actieve taak onderverdeeld met een id van 3.
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"
Parameters
-BreakAll
Hiermee kunt u direct op de huidige locatie breken wanneer het foutopsporingsprogramma wordt gekoppeld.
Deze parameter is toegevoegd in PowerShell 7.2.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Confirm
U wordt gevraagd om bevestiging voordat u de cmdlet uitvoert.
Type: | SwitchParameter |
Aliassen: | cf |
Position: | Named |
Default value: | False |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Id
Hiermee geeft u het id-nummer van een actieve taak. Voer de Get-Job
cmdlet uit om het id-nummer van een taak op te halen.
Type: | Int32 |
Position: | 0 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-InstanceId
Hiermee geeft u de exemplaar-id-GUID van een actieve taak.
Type: | Guid |
Position: | 0 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Job
Hiermee geeft u een actief taakobject. De eenvoudigste manier om deze parameter te gebruiken, is het opslaan van de resultaten van een Get-Job
-opdracht waarmee de actieve taak wordt geretourneerd die u in een variabele wilt opsporen en de variabele vervolgens opgeeft als de waarde van deze parameter.
Type: | Job |
Position: | 0 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-Name
Hiermee geeft u een taak op met de beschrijvende naam van de taak. Wanneer u een taak start, kunt u een taaknaam opgeven door de parameter JobName toe te voegen in cmdlets zoals Invoke-Command
en Start-Job
.
Type: | String |
Position: | 0 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-WhatIf
Toont wat er zou gebeuren als de cmdlet wordt uitgevoerd. De cmdlet wordt niet uitgevoerd.
Type: | SwitchParameter |
Aliassen: | wi |
Position: | Named |
Default value: | False |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
Invoerwaarden
System.Management.Automation.RemotingJob