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