Sdílet prostřednictvím


Debug-Job

Ladí spuštěnou úlohu prostředí Background, remote nebo Windows PowerShell Workflow.

Syntaxe

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

Rutina Debug-Job umožňuje ladit skripty spuštěné v rámci úloh. Tato rutina je navržená tak, aby ladí úlohy pracovního postupu Windows PowerShellu, úlohy na pozadí a úlohy spuštěné ve vzdálených relacích. ladění přijímá spuštěný objekt úlohy, název, ID nebo ID instance jako vstup a spustí ladicí relaci ve skriptu, který je spuštěný. Ladicí program ukončí příkaz zastaví úlohu a spustí skript. Počínaje windows PowerShellem 5.0 ukončete příkaz odpojte ladicí program a umožní úlohu pokračovat ve spuštění.

Příklady

Příklad 1: Ladění úlohy podle ID úlohy

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"

Tento příkaz se rozdělí na spuštěnou úlohu s ID 3.

Parametry

-Confirm

Před spuštěním rutiny vás vyzve k potvrzení.

Typ:SwitchParameter
Aliasy:cf
Position:Named
Default value:False
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Id

Určuje číslo ID spuštěné úlohy. Pokud chcete získat číslo ID úlohy, spusťte rutinu Get-Job.

Typ:Int32
Position:0
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-InstanceId

Určuje identifikátor GUID ID instance spuštěné úlohy. Pokud chcete získat InstanceId úlohy, spusťte rutinu Get-Job, která výsledky prodá do rutiny Format–* , jak je znázorněno v následujícím příkladu:

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

Typ:Guid
Position:0
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Job

Určuje spuštěný objekt úlohy. Nejjednodušší způsob, jak tento parametr použít, je uložit výsledky příkazu Get-Job, který vrátí spuštěnou úlohu, kterou chcete ladit v proměnné, a pak proměnnou zadat jako hodnotu tohoto parametru.

Typ:Job
Position:0
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-Name

Určuje úlohu popisným názvem úlohy. Při spuštění úlohy můžete zadat název úlohy přidáním parametru JobName v rutinách, jako jsou Invoke-Command a Start-Job.

Typ:String
Position:0
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-WhatIf

Ukazuje, co se stane, když se rutina spustí. Rutina se nespustí.

Typ:SwitchParameter
Aliasy:wi
Position:Named
Default value:False
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

Vstupy

System.Management.Automation.RemotingJob