Partager via


Debug-Job

Débogue un travail en arrière-plan ou distant en cours d’exécution.

Syntaxe

JobParameterSet (Par défaut)

Debug-Job
    [-Job] <Job>
    [-BreakAll]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

JobNameParameterSet

Debug-Job
    [-Name] <String>
    [-BreakAll]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

JobIdParameterSet

Debug-Job
    [-Id] <Int32>
    [-BreakAll]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

JobInstanceIdParameterSet

Debug-Job
    [-InstanceId] <Guid>
    [-BreakAll]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

L’applet de commande Debug-Job vous permet de déboguer des scripts qui s’exécutent dans des travaux. L’applet de commande est conçue pour déboguer des travaux de flux de travail PowerShell, des travaux en arrière-plan et des travaux exécutés dans des sessions à distance. Debug-Job accepte un objet de travail en cours d’exécution, un nom, un ID ou un ID d’instance comme entrée et démarre une session de débogage sur le script qu’il exécute. Le débogueur quit commande arrête le travail et exécute le script. La commande exit détache le débogueur et permet au travail de continuer à s’exécuter.

Exemples

Exemple 1 : Déboguer un travail par ID de travail

Cette commande s’interrompt dans un travail en cours d’exécution avec un ID de 3.

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"

Paramètres

-BreakAll

Cela vous permet de suspendre l’exécution immédiatement à l’emplacement actuel lorsque le débogueur s’attache.

Ce paramètre a été ajouté dans PowerShell 7.2.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Confirm

Vous invite à confirmer avant d’exécuter l’applet de commande.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:False
Prend en charge les caractères génériques:False
DontShow:False
Alias:cf

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Id

Spécifie le numéro d’ID d’un travail en cours d’exécution. Pour obtenir le numéro d’ID d’un travail, exécutez l’applet de commande Get-Job.

Propriétés du paramètre

Type:Int32
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

JobIdParameterSet
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-InstanceId

Spécifie le GUID d’ID d’instance d’un travail en cours d’exécution.

Propriétés du paramètre

Type:Guid
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

JobInstanceIdParameterSet
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Job

Spécifie un objet de travail en cours d’exécution. La façon la plus simple d’utiliser ce paramètre consiste à enregistrer les résultats d’une commande Get-Job qui retourne le travail en cours d’exécution que vous souhaitez déboguer dans une variable, puis spécifier la variable comme valeur de ce paramètre.

Propriétés du paramètre

Type:Job
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

JobParameterSet
Position:0
Obligatoire:True
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False

-Name

Spécifie un travail par le nom convivial du travail. Lorsque vous démarrez un travail, vous pouvez spécifier un nom de travail en ajoutant le paramètre JobName, dans des applets de commande telles que Invoke-Command et Start-Job.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

JobNameParameterSet
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-WhatIf

Affiche ce qui se passerait si l’applet de commande s’exécute. L’applet de commande ne s’exécute pas.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:False
Prend en charge les caractères génériques:False
DontShow:False
Alias:Wi

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

CommonParameters

Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.

Entrées

System.Management.Automation.RemotingJob