Compartir a través de


Debug-Job

Depura un trabajo de flujo de trabajo de flujo de trabajo de Windows PowerShell, remoto o en segundo plano en ejecución.

Sintaxis

JobParameterSet (valor predeterminado)

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

Description

El cmdlet Debug-Job permite depurar scripts que se ejecutan en trabajos. El cmdlet está diseñado para depurar trabajos de flujo de trabajo de Windows PowerShell, trabajos en segundo plano y trabajos que se ejecutan en sesiones remotas. Debug-Job acepta un objeto de trabajo en ejecución, un nombre, un identificador o un identificador de instancia como entrada e inicia una sesión de depuración en el script que está ejecutando. El depurador salir comando detiene el trabajo y ejecuta el script. A partir de Windows PowerShell 5.0, el salir comando desasocia el depurador y permite que el trabajo continúe ejecutándose.

Ejemplos

Ejemplo 1: Depuración de un trabajo por identificador de trabajo

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"

Este comando se divide en un trabajo en ejecución con un identificador de 3.

Parámetros

-Confirm

Le pide confirmación antes de ejecutar el cmdlet.

Propiedades de parámetro

Tipo:SwitchParameter
Valor predeterminado:False
Admite caracteres comodín:False
DontShow:False
Alias:cf

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Id

Especifica el número de identificador de un trabajo en ejecución. Para obtener el número de identificador de un trabajo, ejecute el cmdlet Get-Job.

Propiedades de parámetro

Tipo:Int32
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

JobIdParameterSet
Posición:0
Obligatorio:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-InstanceId

Especifica el GUID de identificador de instancia de un trabajo en ejecución. Para obtener el InstanceId de un trabajo, ejecute el cmdlet Get-Job, canalizando los resultados en un cmdlet format-* de , como se muestra en el ejemplo siguiente:

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

Propiedades de parámetro

Tipo:Guid
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

JobInstanceIdParameterSet
Posición:0
Obligatorio:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Job

Especifica un objeto de trabajo en ejecución. La manera más sencilla de usar este parámetro es guardar los resultados de una comando Get-Job que devuelve el trabajo en ejecución que desea depurar en una variable y, a continuación, especificar la variable como valor de este parámetro.

Propiedades de parámetro

Tipo:Job
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

JobParameterSet
Posición:0
Obligatorio:True
Valor de la canalización:True
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-Name

Especifica un trabajo por el nombre descriptivo del trabajo. Al iniciar un trabajo, puede especificar un nombre de trabajo agregando el parámetro JobName, en cmdlets como Invoke-Command e Start-Job.

Propiedades de parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

JobNameParameterSet
Posición:0
Obligatorio:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-WhatIf

Muestra lo que sucedería si el cmdlet se ejecuta. El cmdlet no se ejecuta.

Propiedades de parámetro

Tipo:SwitchParameter
Valor predeterminado:False
Admite caracteres comodín:False
DontShow:False
Alias:Wi

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

CommonParameters

Este cmdlet admite los parámetros comunes: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction y -WarningVariable. Para obtener más información, vea about_CommonParameters.

Entradas

System.Management.Automation.RemotingJob