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 binnen 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 foutopsporingsprogramma quit
stopt de taak en voert het script uit. Met exit
de opdracht wordt het foutopsporingsprogramma losgekoppeld en kan de taak blijven 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
Hiermee wordt u 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 door de resultaten van een Get-Job
opdracht op te slaan die de actieve taak retourneert die u in een variabele wilt opsporen en de variabele vervolgens op te geven 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
Hiermee wordt weergegeven wat er zou gebeuren als u de cmdlet uitvoert. 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