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 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
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 Get-Job cmdlet uit om het 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 exemplaar-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 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
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