Udostępnij za pomocą


Debug-Job

Debuguje uruchomione zadanie przepływu pracy w tle, zdalnym lub Windows PowerShell.

Składnia

JobParameterSet (domyślnie)

Debug-Job
    [-Job] <Job>
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

JobNameParameterSet

Debug-Job
    [-Name] <String>
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

JobIdParameterSet

Debug-Job
    [-Id] <Int32>
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

JobInstanceIdParameterSet

Debug-Job
    [-InstanceId] <Guid>
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Opis

Polecenie cmdlet Debug-Job umożliwia debugowanie skryptów działających w ramach zadań. Polecenie cmdlet jest przeznaczone do debugowania zadań przepływu pracy programu Windows PowerShell, zadań w tle i zadań uruchomionych w sesjach zdalnych. debugowania zadania akceptuje uruchomiony obiekt zadania, nazwę, identyfikator lub identyfikator wystąpienia jako dane wejściowe i uruchamia sesję debugowania na uruchomionym skrycie. Debuger zakończyć polecenie zatrzymuje zadanie i uruchamia skrypt. Począwszy od programu Windows PowerShell 5.0, zakończyć polecenie odłącza debuger i umożliwia kontynuowanie działania zadania.

Przykłady

Przykład 1. Debugowanie zadania według identyfikatora zadania

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"

To polecenie przerywa uruchomione zadanie z identyfikatorem 3.

Parametry

-Confirm

Prosi o potwierdzenie przed uruchomieniem cmdletu.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:False
Obsługuje symbole wieloznaczne:False
DontShow:False
Aliasy:por

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-Id

Określa numer identyfikacyjny uruchomionego zadania. Aby uzyskać identyfikator zadania, uruchom polecenie cmdlet Get-Job.

Właściwości parametru

Typ:Int32
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

JobIdParameterSet
Position:0
Obowiązkowe:True
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-InstanceId

Określa identyfikator GUID wystąpienia uruchomionego zadania. Aby uzyskać InstanceId zadania, uruchom polecenie cmdlet Get-Job, potokując wyniki do polecenia cmdlet Format-*, jak pokazano w poniższym przykładzie:

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

Właściwości parametru

Typ:Guid
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

JobInstanceIdParameterSet
Position:0
Obowiązkowe:True
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-Job

Określa działający obiekt zadania. Najprostszym sposobem użycia tego parametru jest zapisanie wyników polecenia Get-Job, które zwraca uruchomione zadanie, które chcesz debugować w zmiennej, a następnie określ zmienną jako wartość tego parametru.

Właściwości parametru

Typ:Job
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

JobParameterSet
Position:0
Obowiązkowe:True
Wartość z potoku:True
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

-Name

Określa zadanie według przyjaznej nazwy zadania. Po uruchomieniu zadania można określić nazwę zadania, dodając parametr JobName w poleceniach cmdlet, takich jak Invoke-Command i Start-Job.

Właściwości parametru

Typ:String
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

JobNameParameterSet
Position:0
Obowiązkowe:True
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-WhatIf

Pokazuje, co się stanie, jeśli polecenie cmdlet zostanie uruchomione. Cmdlet nie jest uruchomiony.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:False
Obsługuje symbole wieloznaczne:False
DontShow:False
Aliasy:Wi

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

CommonParameters

To polecenie cmdlet obsługuje typowe parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction i -WarningVariable. Aby uzyskać więcej informacji, zobacz about_CommonParameters.

Dane wejściowe

System.Management.Automation.RemotingJob