Delen via


Debug-Job

Fouten opsporen in een actieve achtergrond- of externe taak.

Syntax

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 voor het script dat wordt uitgevoerd. De foutopsporingsprogrammaopdracht quit stopt de taak en het uitvoeren van het script. Met de exit opdracht wordt het foutopsporingsprogramma losgekoppeld en kan de taak worden uitgevoerd.

Voorbeelden

Voorbeeld 1: Fouten opsporen in een taak op taak-id

Deze opdracht breekt in op een actieve taak 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 onmiddellijk op de huidige locatie breken wanneer het foutopsporingsprogramma wordt gekoppeld.

De parameter is alleen beschikbaar als experimentele functie. Zie Experimentele functies gebruiken voor meer informatie.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Hiermee wordt u gevraagd om bevestiging voordat u de cmdlet uitvoert.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Id

Hiermee geeft u het id-nummer van een actieve taak. Voer de cmdlet uit om het Get-Job id-nummer van een taak op te halen.

Type:Int32
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-InstanceId

Hiermee geeft u de instantie-id-GUID van een actieve taak.

Type:Guid
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Job

Hiermee geeft u een actief taakobject. De eenvoudigste manier om deze parameter te gebruiken, is door de resultaten op te slaan van een Get-Job opdracht die de actieve taak retourneert die u wilt opsporen in een variabele en vervolgens de variabele op te geven als de waarde van deze parameter.

Type:Job
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Hiermee wordt weergegeven wat er zou gebeuren als u de cmdlet uitvoert. De cmdlet wordt niet uitgevoerd.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Invoerwaarden

System.Management.Automation.RemotingJob