Debug-Job
Felsöker en bakgrunds-, fjärr- eller PowerShell-arbetsflödesjobb som körs.
Syntax
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
Med cmdleten Debug-Job kan du felsöka skript som körs i jobb. Cmdleten är utformad för att felsöka PowerShell-arbetsflödesjobb, bakgrundsjobb och jobb som körs i fjärrsessioner. Felsökningsjobb accepterar ett jobbobjekt, namn, ID eller instans-ID som indata och startar en felsökningssession i skriptet som körs. Kommandot avsluta felsökningsprogrammet stoppar jobbet och skriptet som körs. Från och med Windows PowerShell 5.0 kopplar avslutskommandot från felsökaren och gör att jobbet kan fortsätta att köras.
Exempel
Exempel 1: Felsöka ett jobb efter jobb-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 function
18: SampleWorkflowTest -MyOutput "Hello"
Det här kommandot bryter sig in i ett jobb som körs med ID:t 3.
Parametrar
-Confirm
Uppmanar dig att bekräfta innan du kör cmdleten.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Id
Anger ID-numret för ett jobb som körs. Om du vill hämta ID-numret för ett jobb kör du cmdleten Get-Job.
Type: | Int32 |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InstanceId
Anger instans-ID GUID för ett jobb som körs. Om du vill hämta InstanceId för ett jobb kör du cmdleten Get-Job och dirigerar resultatet till en Format-*-cmdlet, enligt följande exempel:
Get-Job | Format-List -Property Id,Name,InstanceId,State
Type: | Guid |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Job
Anger ett jobbobjekt som körs. Det enklaste sättet att använda den här parametern är att spara resultatet av ett Get-Job-kommando som returnerar det jobb som körs som du vill felsöka i en variabel och sedan ange variabeln som värdet för den här parametern.
Type: | Job |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Name
Anger ett jobb med det egna namnet på jobbet. När du startar ett jobb kan du ange ett jobbnamn genom att lägga till jobname-parametern i cmdletar som Invoke-Command och Start-Job.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Visar vad som skulle hända om cmdleten kördes. Cmdleten körs inte.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Indata
System.Management.Automation.RemotingJob