Delen via


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