NAME
Debug-Job
SYNOPSIS
Debugs a running background, remote, or Windows PowerShell Workflow job.SYNTAX
Debug-Job [-Id]
[-Confirm] [-WhatIf] [ ] Debug-Job [-InstanceId]
[-Confirm] [-WhatIf] [ ] Debug-Job [-Job]
[-Confirm] [-WhatIf] [ ] Debug-Job [-Name]
[-Confirm] [-WhatIf] [ ] DESCRIPTION
The Debug-Job cmdlet lets you debug scripts that are running within jobs. The cmdlet is designed to debug Windows
PowerShell Workflow jobs, background jobs, and jobs running in remote sessions. Debug-Job accepts a running job
object, name, ID, or instance ID as input, and starts a debugging session on the script it is running. The debugger quit command stops the job and running script. Starting in Windows PowerShell 5.0, the exit command detaches the debugger, and allows the job to continue to run.PARAMETERS
-Confirm [
Prompts you for confirmation before running the cmdlet. Required? false Position? named Default value False Accept pipeline input? False Accept wildcard characters? false] -Id
Specifies the ID number of a running job. To get the ID number of a job, run the Get-Job cmdlet.
Required? true Position? 0 Default value None Accept pipeline input? False Accept wildcard characters? false-InstanceId
Specifies the instance ID GUID of a running job. To get the InstanceId of a job, run the Get-Job cmdlet,
piping the results into a Format- * cmdlet, as shown in the following example:
`Get-Job | Format-List -Property Id,Name,InstanceId,State`
Required? true Position? 0 Default value None Accept pipeline input? False Accept wildcard characters? false-Job
Specifies a running job object. The simplest way to use this parameter is to save the results of a Get-Job
command that returns the running job that you want to debug in a variable, and then specify the variable as the value of this parameter. Required? true Position? 0 Default value NoneAccept pipeline input? True (ByPropertyName, ByValue)
Accept wildcard characters? false-Name
Specifies a job by the friendly name of the job. When you start a job, you can specify a job name by addingthe JobName parameter, in cmdlets such as Invoke-Command and Start-Job.
Required? true Position? 0 Default value None Accept pipeline input? False Accept wildcard characters? false-WhatIf [
Shows what would happen if the cmdlet runs. The cmdlet is not run. Required? false Position? named Default value False Accept pipeline input? False Accept wildcard characters? false] This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters (https:/go.microsoft.com/fwlink/?LinkID=113216). INPUTS
System.Management.Automation.RemotingJobOUTPUTS
NOTES
Example 1: Debug a job by job 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 function18: SampleWorkflowTest -MyOutput "Hello"
This command breaks into a running job with an ID of 3.RELATED LINKS
Online Version: http://go.microsoft.com/fwlink/?LinkId=512991Get-Job
Receive-Job
Remove-Job
Resume-Job
Start-Job
Stop-Job
Suspend-Job
Wait-Job