Debug-Job
Fouten opsporen in een actieve achtergrond-, externe of Windows PowerShell Workflow-taak.
Syntaxis
Debug-Job
[-Job] <Job>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Debug-Job
[-Name] <String>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Debug-Job
[-Id] <Int32>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Debug-Job
[-InstanceId] <Guid>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
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: Fouten opsporen in een taak op 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 taak onderverdeeld met een id van 3.
Parameters
-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. 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:
Get-Job | Format-List -Property Id,Name,InstanceId,State
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 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.
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