Met de cmdlet Debug-Job kunt u fouten opsporen in scripts die in taken worden uitgevoerd.
De cmdlet is ontworpen om fouten op te sporen in Windows PowerShell Workflow-taken, achtergrondtaken en taken die worden uitgevoerd in externe sessies.
Foutopsporingstaak accepteert een actief taakobject, naam, id of exemplaar-id als invoer en start een foutopsporingssessie op het script dat wordt uitgevoerd.
Het foutopsporingsprogramma opdracht stopt de taak en voert het script uit.
Vanaf Windows PowerShell 5.0 wordt het foutopsporingsprogramma losgekoppeld van de afsluiten opdracht en kan de taak blijven worden uitgevoerd.
Voorbeelden
Voorbeeld 1: Debuggen van een taak door taak-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"
Met deze opdracht wordt een actieve job met ID 3 onderbroken.
Parameters
-Confirm
Voordat u de cmdlet uitvoert, vraagt het systeem om bevestiging.
Parametereigenschappen
Type:
SwitchParameter
Default value:
False
Ondersteunt jokertekens:
False
DontShow:
False
Aliassen:
Cf
Parametersets
(All)
Position:
Named
Verplicht:
False
Waarde uit pijplijn:
False
Waarde uit pijplijn op eigenschapsnaam:
False
Waarde van resterende argumenten:
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.
Parametereigenschappen
Type:
Int32
Default value:
None
Ondersteunt jokertekens:
False
DontShow:
False
Parametersets
JobIdParameterSet
Position:
0
Verplicht:
True
Waarde uit pijplijn:
False
Waarde uit pijplijn op eigenschapsnaam:
False
Waarde van resterende argumenten:
False
-InstanceId
Hiermee specificeert u de exemplaar-id-GUID van een lopende taak.
Als u de InstanceId- van een taak wilt ophalen, voert u de cmdlet Get-Job uit, waarbij de resultaten worden doorgesluisd naar een Format-* cmdlet, zoals wordt weergegeven in het volgende voorbeeld:
Hiermee specificeert u een lopend taakobject.
De eenvoudigste manier om deze parameter te gebruiken, is het opslaan van de resultaten van een opdracht Get-Job die de actieve taak retourneert die u in een variabele wilt opsporen en geef vervolgens de variabele op als de waarde van deze parameter.
Parametereigenschappen
Type:
Job
Default value:
None
Ondersteunt jokertekens:
False
DontShow:
False
Parametersets
JobParameterSet
Position:
0
Verplicht:
True
Waarde uit pijplijn:
True
Waarde uit pijplijn op eigenschapsnaam:
True
Waarde van resterende argumenten:
False
-Name
Hiermee specificeert u een job met de gebruiksvriendelijke naam van de job.
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.
Parametereigenschappen
Type:
String
Default value:
None
Ondersteunt jokertekens:
False
DontShow:
False
Parametersets
JobNameParameterSet
Position:
0
Verplicht:
True
Waarde uit pijplijn:
False
Waarde uit pijplijn op eigenschapsnaam:
False
Waarde van resterende argumenten:
False
-WhatIf
Toont wat er zou gebeuren wanneer de cmdlet wordt uitgevoerd.
De cmdlet wordt niet uitgevoerd.
Parametereigenschappen
Type:
SwitchParameter
Default value:
False
Ondersteunt jokertekens:
False
DontShow:
False
Aliassen:
Wi
Parametersets
(All)
Position:
Named
Verplicht:
False
Waarde uit pijplijn:
False
Waarde uit pijplijn op eigenschapsnaam:
False
Waarde van resterende argumenten:
False
CommonParameters
Deze cmdlet ondersteunt de algemene parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction en -WarningVariable. Zie about_CommonParametersvoor meer informatie.