Delen via


Debug-Job

Fouten opsporen in een actieve achtergrond of externe taak.

Syntaxis

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
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Confirm

Hiermee wordt u 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.

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 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
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

Hiermee wordt weergegeven wat er zou gebeuren als u de cmdlet uitvoert. 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