Debug-Job

Felsöker ett bakgrunds-, fjärr- eller PowerShell-arbetsflödesjobb som körs.

Syntax

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

Med cmdleten Debug-Job kan du felsöka skript som körs i jobb. Cmdleten är utformad för att felsöka PowerShell-arbetsflödesjobb, bakgrundsjobb och jobb som körs i fjärrsessioner. Felsökningsjobb accepterar ett jobbobjekt, namn, ID eller instans-ID som indata och startar en felsökningssession för skriptet som körs. Kommandot debugger quit stoppar jobbet och skriptet som körs. Från och med Windows PowerShell 5.0 kopplar avslutskommandot från felsökaren och gör att jobbet kan fortsätta att köras.

Exempel

Exempel 1: Felsöka ett jobb efter jobb-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"

Det här kommandot bryter sig in i ett jobb som körs med ett ID på 3.

Parametrar

-Confirm

Uppmanar dig att bekräfta innan du kör cmdleten.

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

-Id

Anger ID-numret för ett jobb som körs. Om du vill hämta ID-numret för ett jobb kör du cmdleten Get-Job.

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

-InstanceId

Anger instans-ID-GUID för ett jobb som körs. Om du vill hämta InstanceId för ett jobb kör du cmdleten Get-Job och dirigerar resultatet till en Format-* cmdlet, enligt följande exempel:

Get-Job | Format-List -Property Id,Name,InstanceId,State

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

-Job

Anger ett jobbobjekt som körs. Det enklaste sättet att använda den här parametern är att spara resultatet av ett Get-Job-kommando som returnerar det jobb som körs som du vill felsöka i en variabel och sedan ange variabeln som värdet för den här parametern.

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

-Name

Anger ett jobb med det egna namnet på jobbet. När du startar ett jobb kan du ange ett jobbnamn genom att lägga till jobname-parametern i cmdletar som Invoke-Command och Start-Job.

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

-WhatIf

Visar vad som skulle hända om cmdleten kördes. Cmdleten körs inte.

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

Indata

System.Management.Automation.RemotingJob