Partager via


Get-Job

Obtient les travaux en arrière-plan PowerShell en cours d’exécution dans la session active.

Syntaxe

Get-Job
   [-IncludeChildJob]
   [-ChildJobState <JobState>]
   [-HasMoreData <Boolean>]
   [-Before <DateTime>]
   [-After <DateTime>]
   [-Newest <Int32>]
   [[-Id] <Int32[]>]
   [<CommonParameters>]
Get-Job
   [-IncludeChildJob]
   [-ChildJobState <JobState>]
   [-HasMoreData <Boolean>]
   [-Before <DateTime>]
   [-After <DateTime>]
   [-Newest <Int32>]
   [-InstanceId] <Guid[]>
   [<CommonParameters>]
Get-Job
   [-IncludeChildJob]
   [-ChildJobState <JobState>]
   [-HasMoreData <Boolean>]
   [-Before <DateTime>]
   [-After <DateTime>]
   [-Newest <Int32>]
   [-Name] <String[]>
   [<CommonParameters>]
Get-Job
   [-IncludeChildJob]
   [-ChildJobState <JobState>]
   [-HasMoreData <Boolean>]
   [-Before <DateTime>]
   [-After <DateTime>]
   [-Newest <Int32>]
   [-State] <JobState>
   [<CommonParameters>]
Get-Job
   [-IncludeChildJob]
   [-ChildJobState <JobState>]
   [-HasMoreData <Boolean>]
   [-Before <DateTime>]
   [-After <DateTime>]
   [-Newest <Int32>]
   [-Command <String[]>]
   [<CommonParameters>]
Get-Job
   [-Filter] <Hashtable>
   [<CommonParameters>]

Description

L’applet de commande Get-Job obtient des objets qui représentent les travaux en arrière-plan qui ont été démarrés dans la session active. Vous pouvez utiliser Get-Job pour obtenir des travaux qui ont été démarrés à l’aide de l’applet de commande Start-Job, ou à l’aide du paramètre AsJob de n’importe quelle applet de commande.

Sans paramètres, une commande Get-Job obtient tous les travaux de la session active. Vous pouvez utiliser les paramètres de Get-Job pour obtenir des travaux particuliers.

L’objet de travail qui Get-Job retourne contient des informations utiles sur le travail, mais il ne contient pas les résultats du travail. Pour obtenir les résultats, utilisez l’applet de commande Receive-Job.

Un travail en arrière-plan Windows PowerShell est une commande qui s’exécute en arrière-plan sans interagir avec la session active. En règle générale, vous utilisez un travail en arrière-plan pour exécuter une commande complexe qui prend beaucoup de temps. Pour plus d’informations sur les travaux en arrière-plan dans Windows PowerShell, consultez about_Jobs.

À compter de Windows PowerShell 3.0, l’applet de commande Get-Job obtient également des types de travaux personnalisés, tels que les travaux de flux de travail et les instances de travaux planifiés. Pour rechercher le type de travail d’un travail, utilisez la propriété PSJobTypeName de la tâche.

Pour permettre Get-Job d’obtenir un type de travail personnalisé, importez le module qui prend en charge le type de travail personnalisé dans la session avant d’exécuter une commande Get-Job, soit à l’aide de l’applet de commande Import-Module, soit à l’aide d’une applet de commande ou en obtenant une applet de commande dans le module. Pour plus d’informations sur un type de travail personnalisé particulier, consultez la documentation de la fonctionnalité de type de travail personnalisé.

Exemples

Exemple 1 : Démarrer tous les travaux en arrière-plan dans la session active

Cette commande obtient tous les travaux en arrière-plan démarrés dans la session active. Il n’inclut pas les travaux créés dans d’autres sessions, même si les travaux s’exécutent sur l’ordinateur local.

Get-Job

Id     Name            PSJobTypeName   State         HasMoreData     Location             Command
--     ----            -------------   -----         -----------     --------             -------
1      Job1            BackgroundJob   Completed     True            localhost             $env:COMPUTERNAME

Exemple 2 : Arrêter un travail à l’aide d’un ID d’instance

Ces commandes montrent comment obtenir l’ID d’instance d’un travail, puis l’utiliser pour arrêter un travail. Contrairement au nom d’un travail, qui n’est pas unique, l’ID d’instance est unique.

La première commande utilise l’applet de commande Get-Job pour obtenir un travail. Il utilise le paramètre Name pour identifier le travail. La commande stocke l’objet de travail qui Get-Job retourne dans la variable $j. Dans cet exemple, il n’existe qu’un seul travail portant le nom spécifié. La deuxième commande obtient la propriété InstanceId de l’objet dans la variable $j et la stocke dans la variable $ID. La troisième commande affiche la valeur de la variable $ID. La quatrième commande utilise Stop-Job cmdlet pour arrêter le travail. Il utilise le paramètre InstanceId pour identifier le travail et $ID variable pour représenter l’ID d’instance du travail.

$j = Get-Job -Name Job1
$ID = $j.InstanceID
$ID

Guid
----
03c3232e-1d23-453b-a6f4-ed73c9e29d55

Stop-Job -InstanceId $ID

Exemple 3 : Obtenir des travaux qui incluent une commande spécifique

Cette commande obtient les travaux sur le système qui incluent une commande Get-Process. La commande utilise le paramètre Command de Get-Job pour limiter les travaux récupérés. La commande utilise des caractères génériques (*) pour obtenir des travaux qui incluent une commande Get-Process n’importe où dans la chaîne de commande.

Get-Job -Command "*Get-Process*"

Id     Name            PSJobTypeName   State         HasMoreData     Location             Command
--     ----            -------------   -----         -----------     --------             -------
3      Job3            BackgroundJob   Running       True            localhost            Get-Process

Exemple 4 : Obtenir des travaux qui incluent une commande spécifique à l’aide du pipeline

Comme la commande dans l’exemple précédent, cette commande obtient les travaux sur le système qui incluent une commande Get-Process. La commande utilise un opérateur de pipeline (|) pour envoyer un PSCustomObject avec la commande NoteProperty Command, à l’applet de commande Get-Job. Il s’agit de l’équivalent de la commande précédente.

[pscustomobject]@{Command='*Get-Process*'} | Get-Job

Id     Name            PSJobTypeName   State         HasMoreData     Location             Command
--     ----            -------------   -----         -----------     --------             -------
3      Job3            BackgroundJob   Running       True            localhost            Get-Process

Exemple 5 : Obtenir des travaux qui n’ont pas été démarrés

Cette commande obtient uniquement les travaux qui ont été créés, mais qui n’ont pas encore été démarrés. Cela inclut les travaux qui sont planifiés pour s’exécuter à l’avenir et ceux qui ne sont pas encore planifiés.

Get-Job -State NotStarted

Exemple 6 : Obtenir des travaux qui n’ont pas été attribués à un nom

Cette commande obtient tous les travaux qui ont des noms de travaux qui commencent par le travail. Étant donné que job<number> est le nom par défaut d’un travail, cette commande obtient tous les travaux qui n’ont pas de nom attribué explicitement.

Get-Job -Name Job*

Id     Name            PSJobTypeName   State         HasMoreData     Location             Command
--     ----            -------------   -----         -----------     --------             -------
1      Job1            BackgroundJob   Completed     True            localhost             $env:COMPUTERNAME

Exemple 7 : Utiliser un objet de travail pour représenter le travail dans une commande

Cet exemple montre comment utiliser Get-Job pour obtenir un objet de travail, puis comment utiliser l’objet de travail pour représenter le travail dans une commande.

La première commande utilise l’applet de commande Start-Job pour démarrer un travail en arrière-plan qui exécute une commande Get-Process sur l’ordinateur local. La commande utilise le paramètre Name de Start-Job pour attribuer un nom convivial au travail. La deuxième commande utilise Get-Job pour obtenir le travail. Il utilise le paramètre Name de Get-Job pour identifier le travail. La commande enregistre l’objet de travail résultant dans la variable $j. La troisième commande affiche la valeur de l’objet de travail dans la variable $j. La valeur de la propriété State indique que le travail est terminé. La valeur de la propriété HasMoreData indique qu’il existe des résultats disponibles à partir du travail qui n’ont pas encore été récupérés. La quatrième commande utilise l’applet de commande Receive-Job pour obtenir les résultats du travail. Il utilise l’objet de travail dans la variable $j pour représenter le travail. Vous pouvez également utiliser un opérateur de pipeline pour envoyer un objet de travail à Receive-Job.

Start-Job -ScriptBlock {Get-Process} -Name MyJob
$j = Get-Job -Name MyJob
$j

Id     Name            PSJobTypeName   State         HasMoreData     Location             Command
--     ----            -------------   -----         -----------     --------             -------
6      MyJob           BackgroundJob   Completed     True            localhost            Get-Process

Receive-Job -Job $j

Handles  NPM(K)    PM(K)      WS(K) VM(M)   CPU(s)     Id ProcessName
-------  ------    -----      ----- -----   ------     -- -----------
    124       4    13572      12080    59            1140 audiodg
    783      16    11428      13636   100             548 CcmExec
     96       4     4252       3764    59            3856 ccmsetup
...

Exemple 8 : Obtenir tous les travaux, y compris les travaux démarrés par une autre méthode

Cet exemple montre que l’applet de commande Get-Job peut obtenir tous les travaux démarrés dans la session active, même s’ils ont été démarrés à l’aide de différentes méthodes.

La première commande utilise l’applet de commande Start-Job pour démarrer un travail sur l’ordinateur local. La deuxième commande utilise le paramètre AsJob de l’applet de commande Invoke-Command pour démarrer un travail sur l’ordinateur S1. Même si les commandes du travail s’exécutent sur l’ordinateur distant, l’objet de travail est créé sur l’ordinateur local, de sorte que vous utilisez des commandes locales pour gérer le travail. La troisième commande utilise l’applet de commande Invoke-Command pour exécuter une commande Start-Job sur l’ordinateur S2. À l’aide de cette méthode, l’objet de travail est créé sur l’ordinateur distant. Vous utilisez donc des commandes distantes pour gérer le travail. La quatrième commande utilise Get-Job pour obtenir les travaux stockés sur l’ordinateur local. La propriété PSJobTypeName des travaux, introduite dans Windows PowerShell 3.0, indique que le travail local démarré à l’aide de l’applet de commande Start-Job est un travail en arrière-plan et que le travail démarré dans une session distante à l’aide de l’applet de commande Invoke-Command est un travail distant. La cinquième, sixième et septième commande utilise l’applet de commande New-PSSession pour créer une session PSSession connectée à l’ordinateur S2, elle utilise Invoke-Command pour démarrer un travail sur l’ordinateur distant à l’aide de PSSession et du paramètre Session. Il obtient ensuite le travail à l’aide de la commande Get-Job sur l’ordinateur S2 à l’aide de PSSession. L’exemple de sortie affiche les résultats de la commande Get-Job. Sur l’ordinateur S2, le travail semble être un travail local. Le nom de l’ordinateur est localhost et le type de travail est un travail en arrière-plan. Pour plus d’informations sur l’exécution de travaux en arrière-plan sur des ordinateurs distants, consultez about_Remote_Jobs.

Start-Job -ScriptBlock {Get-EventLog -LogName System}
Invoke-Command -ComputerName S1 -ScriptBlock {Get-EventLog -LogName System} -AsJob
Invoke-Command -ComputerName S2 -ScriptBlock {Start-Job -ScriptBlock {Get-EventLog -LogName System}}
Get-Job

Id     Name       PSJobTypeName   State         HasMoreData     Location        Command
--     ----       -------------   -----         -----------     --------        -------
1      Job1       BackgroundJob   Running       True            localhost       Get-EventLog System
2      Job2       RemoteJob       Running       True            S1              Get-EventLog System

$Session = New-PSSession -ComputerName S2
Invoke-Command -Session $Session -ScriptBlock {Start-Job -ScriptBlock {Get-EventLog -LogName System}}
Invoke-Command -Session $Session -ScriptBlock {Get-Job}

Id     Name            PSJobTypeName   State         HasMoreData     Location             Command                   PSComputerName
--     ----            -------------   -----         -----------     --------             -------                   --------------
1      Job1            BackgroundJob   Running       True            localhost            Get-EventLog -LogName Sy… S2

Exemple 9 : Examiner un travail ayant échoué

Cette commande montre comment utiliser l’objet de travail qui Get-Job retourne pour déterminer pourquoi un travail a échoué. Il montre également comment obtenir les emplois enfants de chaque travail.

La première commande utilise l’applet de commande Start-Job pour démarrer un travail sur l’ordinateur local. L’objet de travail qui Start-Job retourne indique que le travail a échoué. La valeur de la propriété State a échoué.

La deuxième commande utilise l’applet de commande Get-Job pour obtenir le travail. La commande utilise la méthode dot pour obtenir la valeur de la propriété JobStateInfo de l’objet. Il utilise un opérateur de pipeline pour envoyer l’objet dans la propriété JobStateInfo à l’applet de commande Format-List, qui met en forme toutes les propriétés de l’objet (*) dans une liste. Le résultat de la commande Format-List indique que la valeur de la propriété Reason Reason du travail est vide.

La troisième commande examine plus. Il utilise une commande Get-Job pour obtenir le travail, puis utilise un opérateur de pipeline pour envoyer l’objet de travail entier à l’applet de commande Format-List, qui affiche toutes les propriétés du travail dans une liste. L’affichage de toutes les propriétés de l’objet de travail indique que le travail contient un travail enfant nommé Job2.

La quatrième commande utilise Get-Job pour obtenir l’objet de travail qui représente le travail enfant Job2. Il s’agit du travail dans lequel la commande s’est réellement exécutée. Il utilise la méthode dot pour obtenir la propriété Reason de la propriété JobStateInfo. Le résultat indique que le travail a échoué en raison d’une erreur Accès refusé. Dans ce cas, l’utilisateur a oublié d’utiliser l’option Exécuter en tant qu’administrateur lors du démarrage de Windows PowerShell. Étant donné que les travaux en arrière-plan utilisent les fonctionnalités de communication à distance de Windows PowerShell, l’ordinateur doit être configuré pour que la communication à distance exécute un travail, même lorsque le travail s’exécute sur l’ordinateur local. Pour plus d’informations sur la configuration requise pour la communication à distance dans Windows PowerShell, consultez about_Remote_Requirements. Pour obtenir des conseils de dépannage, consultez about_Remote_Troubleshooting.

PS> Start-Job -ScriptBlock {Get-Process}
Id     Name       PSJobTypeName   State       HasMoreData     Location             Command
--     ----       -------------   -----       -----------     --------             -------
1      Job1       BackgroundJob   Failed      False           localhost            Get-Process

PS> (Get-Job).JobStateInfo | Format-List -Property *
State  : Failed
Reason :

PS> Get-Job | Format-List -Property *
HasMoreData   : False
StatusMessage :
Location      : localhost
Command       : get-process
JobStateInfo  : Failed
Finished      : System.Threading.ManualReset
EventInstanceId    : fb792295-1318-4f5d-8ac8-8a89c5261507
Id            : 1
Name          : Job1
ChildJobs     : {Job2}
Output        : {}
Error         : {}
Progress      : {}
Verbose       : {}
Debug         : {}
Warning       : {}
StateChanged  :

PS> (Get-Job -Name job2).JobStateInfo.Reason
Connecting to remote server using WSManCreateShellEx api failed. The async callback gave the
following error message: Access is denied.

Exemple 10 : Obtenir les résultats filtrés

Cet exemple montre comment utiliser le paramètre Filter pour obtenir un travail de flux de travail. Le paramètre Filter, introduit dans Windows PowerShell 3.0, est valide uniquement sur les types de travaux personnalisés, tels que les travaux de flux de travail et les travaux planifiés.

La première commande utilise le mot clé workflow pour créer le flux de travail WFProcess. La deuxième commande utilise le paramètre AsJob du flux de travail WFProcess pour exécuter le flux de travail en tant que travail en arrière-plan. Il utilise le paramètre JobName du flux de travail pour spécifier un nom pour le travail, et le paramètre PSPrivateMetadata du flux de travail pour spécifier un ID personnalisé. La troisième commande utilise le paramètre Filter de Get-Job pour obtenir le travail par ID personnalisé spécifié dans le paramètre PSPrivateMetadata.

PS> Workflow WFProcess {Get-Process}
PS> WFProcess -AsJob -JobName WFProcessJob -PSPrivateMetadata @{MyCustomId = 92107}
PS> Get-Job -Filter @{MyCustomId = 92107}
Id     Name            State         HasMoreData     Location             Command
--     ----            -----         -----------     --------             -------
1      WFProcessJob    Completed     True            localhost            WFProcess

Exemple 11 : Obtenir des informations sur les travaux enfants

Cet exemple montre l’effet de l’utilisation des paramètres IncludeChildJob et ChildJobState de l’applet de commande Get-Job.

La première commande obtient les travaux de la session active. La sortie inclut un travail en arrière-plan, un travail distant et plusieurs instances d’un travail planifié. Le travail distant, Job4, semble avoir échoué. La deuxième commande utilise le paramètre IncludeChildJob de Get-Job. La sortie ajoute les travaux enfants de tous les travaux qui ont des travaux enfants. Dans ce cas, la sortie révisée indique que seul le travail enfant Job5 de Job4 a échoué. La troisième commande utilise le paramètre ChildJobState avec la valeur Failed.La sortie inclut tous les travaux parents et uniquement les travaux enfants qui ont échoué. La cinquième commande utilise la propriété JobStateInfo des travaux et sa propriété Reason pour découvrir pourquoi Job5 a échoué.

PS> Get-Job

Id     Name            PSJobTypeName   State         HasMoreData     Location             Command
--     ----            -------------   -----         -----------     --------             -------
2      Job2            BackgroundJob   Completed     True            localhost            .\Get-Archive.ps1
4      Job4            RemoteJob       Failed        True            Server01, Server02   .\Get-Archive.ps1
7      UpdateHelpJob   PSScheduledJob  Completed     True            localhost            Update-Help
8      UpdateHelpJob   PSScheduledJob  Completed     True            localhost            Update-Help
9      UpdateHelpJob   PSScheduledJob  Completed     True            localhost            Update-Help
10     UpdateHelpJob   PSScheduledJob  Completed     True            localhost            Update-Help

PS> Get-Job -IncludeChildJob

Id     Name            PSJobTypeName   State         HasMoreData     Location             Command
--     ----            -------------   -----         -----------     --------             -------
2      Job2            BackgroundJob   Completed     True            localhost           .\Get-Archive.ps1
3      Job3                            Completed     True            localhost           .\Get-Archive.ps1
4      Job4            RemoteJob       Failed        True            Server01, Server02  .\Get-Archive.ps1
5      Job5                            Failed        False           Server01            .\Get-Archive.ps1
6      Job6                            Completed     True            Server02            .\Get-Archive.ps1
7      UpdateHelpJob   PSScheduledJob  Completed     True            localhost            Update-Help
8      UpdateHelpJob   PSScheduledJob  Completed     True            localhost            Update-Help
9      UpdateHelpJob   PSScheduledJob  Completed     True            localhost            Update-Help
10     UpdateHelpJob   PSScheduledJob  Completed     True            localhost            Update-Help

PS> Get-Job -Name Job4 -ChildJobState Failed

Id     Name            PSJobTypeName   State         HasMoreData     Location             Command
--     ----            -------------   -----         -----------     --------             -------
2      Job2            BackgroundJob   Completed     True            localhost           .\Get-Archive.ps1
4      Job4            RemoteJob       Failed        True            Server01, Server02  .\Get-Archive.ps1
5      Job5                            Failed        False           Server01            .\Get-Archive.ps1
7      UpdateHelpJob   PSScheduledJob  Completed     True            localhost            Update-Help
8      UpdateHelpJob   PSScheduledJob  Completed     True            localhost            Update-Help
9      UpdateHelpJob   PSScheduledJob  Completed     True            localhost            Update-Help
10     UpdateHelpJob   PSScheduledJob  Completed     True            localhost            Update-Help

PS> (Get-Job -Name Job5).JobStateInfo.Reason

Connecting to remote server Server01 failed with the following error message:
Access is denied.

Pour plus d’informations, consultez la rubrique d’aide about_Remote_Troubleshooting.

Paramètres

-After

Obtient les travaux terminés qui se sont terminés après la date et l’heure spécifiées. Entrez un objet DateTime, tel qu’un objet retourné par l’applet de commande Get-Date ou une chaîne qui peut être convertie en objet DateTime, tel que Dec 1, 2012 2:00 AM ou 11/06.

Ce paramètre fonctionne uniquement sur les types de travaux personnalisés, tels que les travaux de flux de travail et les travaux planifiés, qui ont une propriété EndTime. Elle ne fonctionne pas sur les travaux en arrière-plan standard, tels que ceux créés à l’aide de l’applet de commande Start-Job. Pour plus d’informations sur la prise en charge de ce paramètre, consultez la rubrique d’aide pour le type de travail.

Ce paramètre a été introduit dans Windows PowerShell 3.0.

Type:DateTime
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Before

Obtient les travaux terminés qui se sont terminés avant la date et l’heure spécifiées. Entrez un objet DateTime.

Ce paramètre fonctionne uniquement sur les types de travaux personnalisés, tels que les travaux de flux de travail et les travaux planifiés, qui ont une propriété EndTime. Elle ne fonctionne pas sur les travaux en arrière-plan standard, tels que ceux créés à l’aide de l’applet de commande Start-Job. Pour plus d’informations sur la prise en charge de ce paramètre, consultez la rubrique d’aide pour le type de travail.

Ce paramètre a été introduit dans Windows PowerShell 3.0.

Type:DateTime
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-ChildJobState

Obtient uniquement les travaux enfants qui ont l’état spécifié. Les valeurs acceptables pour ce paramètre sont les suivantes :

  • NotStarted
  • Course
  • Terminé
  • Raté
  • Arrêté
  • Bloqué
  • Suspendu
  • Coupé
  • Suspension
  • Plombage

Par défaut, Get-Job n’obtient pas de travaux enfants. À l’aide du paramètre IncludeChildJob, Get-Job obtient tous les travaux enfants. Si vous utilisez le paramètre ChildJobState, le paramètre IncludeChildJob n’a aucun effet.

Ce paramètre a été introduit dans Windows PowerShell 3.0.

Type:JobState
Valeurs acceptées:NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping, AtBreakpoint
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Command

Spécifie un tableau de commandes sous forme de chaînes. Cette applet de commande obtient les travaux qui incluent les commandes spécifiées. La valeur par défaut est tous les travaux. Vous pouvez utiliser des caractères génériques pour spécifier un modèle de commande.

Type:String[]
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:True

-Filter

Spécifie une table de conditions de hachage. Cette applet de commande obtient des travaux qui répondent à toutes les conditions. Entrez une table de hachage où les clés sont des propriétés de travail et les valeurs sont des valeurs de propriété de travail.

Ce paramètre fonctionne uniquement sur les types de travaux personnalisés, tels que les travaux de flux de travail et les travaux planifiés. Elle ne fonctionne pas sur les travaux en arrière-plan standard, tels que ceux créés à l’aide de l’applet de commande Start-Job. Pour plus d’informations sur la prise en charge de ce paramètre, consultez la rubrique d’aide pour le type de travail.

Ce paramètre a été introduit dans Windows PowerShell 3.0.

Type:Hashtable
Position:0
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-HasMoreData

Indique si cette applet de commande obtient uniquement les travaux qui ont la valeur de propriété HasMoreData spécifiée hasMoreData. La propriété HasMoreData indique si tous les résultats du travail ont été reçus dans la session active. Pour obtenir des travaux qui ont plus de résultats, spécifiez une valeur de $True. Pour obtenir des travaux qui n’ont pas plus de résultats, spécifiez une valeur de $False.

Pour obtenir les résultats d’un travail, utilisez l’applet de commande Receive-Job.

Lorsque vous utilisez l’applet de commande Receive-Job, elle supprime de son stockage en mémoire, spécifique à la session, les résultats qu’il a retournés. Lorsqu’il a retourné tous les résultats du travail dans la session active, il définit la valeur de la propriété HasMoreData de la tâche à $False) pour indiquer qu’il n’a plus de résultats pour le travail dans la session active. Utilisez le paramètre Keep de Receive-Job pour empêcher Receive-Job de supprimer les résultats et de modifier la valeur de la propriété HasMoreData. Pour plus d’informations, tapez Get-Help Receive-Job.

La propriété HasMoreData est spécifique à la session active. Si les résultats d’un type de travail personnalisé sont enregistrés en dehors de la session, tels que le type de travail planifié, qui enregistre les résultats du travail sur le disque, vous pouvez utiliser l’applet de commande Receive-Job dans une autre session pour obtenir à nouveau les résultats du travail, même si la valeur de HasMoreData est $False. Pour plus d’informations, consultez les rubriques d’aide pour le type de travail personnalisé.

Ce paramètre a été introduit dans Windows PowerShell 3.0.

Type:Boolean
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Id

Spécifie un tableau d’ID de travaux que cette applet de commande obtient.

L’ID est un entier qui identifie de façon unique le travail dans la session active. Il est plus facile de mémoriser et de taper que l’ID d’instance, mais il est unique uniquement dans la session active. Vous pouvez taper un ou plusieurs ID séparés par des virgules. Pour rechercher l’ID d’un travail, tapez Get-Job sans paramètres.

Type:Int32[]
Position:0
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-IncludeChildJob

Indique que cette applet de commande retourne des travaux enfants, en plus des travaux parents.

Ce paramètre est particulièrement utile pour examiner les travaux de flux de travail, pour lesquels Get-Job retourne un travail parent de conteneur et les échecs de travail, car la raison de l’échec est enregistrée dans une propriété du travail enfant.

Ce paramètre a été introduit dans Windows PowerShell 3.0.

Type:SwitchParameter
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-InstanceId

Spécifie un tableau d’ID d’instance de travaux que cette applet de commande obtient. La valeur par défaut est tous les travaux.

Un ID d’instance est un GUID qui identifie de façon unique le travail sur l’ordinateur. Pour rechercher l’ID d’instance d’un travail, utilisez Get-Job.

Type:Guid[]
Position:0
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-Name

Spécifie un tableau de noms conviviaux d’instance de travaux que cette applet de commande obtient. Entrez un nom de travail ou utilisez des caractères génériques pour entrer un modèle de nom de travail. Par défaut, Get-Job obtient tous les travaux de la session active.

Type:String[]
Position:0
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:True

-Newest

Spécifie un certain nombre de travaux à obtenir. Cette applet de commande obtient les travaux qui se sont terminés le plus récemment.

Le paramètre le plus récent ne trie pas ou ne retourne pas les travaux les plus récents dans l’ordre de fin. Pour trier la sortie, utilisez l’applet de commande Sort-Object.

Ce paramètre a été introduit dans Windows PowerShell 3.0.

Type:Int32
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-State

Spécifie un état de travail. Cette applet de commande obtient uniquement les travaux dans l’état spécifié. Les valeurs acceptables pour ce paramètre sont les suivantes :

  • NotStarted
  • Course
  • Terminé
  • Raté
  • Arrêté
  • Bloqué
  • Suspendu
  • Coupé
  • Suspension
  • Plombage

Par défaut, Get-Job obtient tous les travaux de la session active.

Pour plus d’informations sur les états de travail, consultez 'énumération JobState.

Type:JobState
Valeurs acceptées:NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping, AtBreakpoint
Position:0
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

Entrées

None

Vous ne pouvez pas diriger les objets vers cette applet de commande.

Sorties

System.Management.Automation.RemotingJob

Cette applet de commande retourne des objets qui représentent les travaux dans la session.

Notes

PowerShell inclut les alias suivants pour Get-Job:

  • Toutes les plateformes :
    • gjb

La propriété PSJobTypeName des travaux indique le type de travail du travail. La valeur de propriété est déterminée par l’auteur du type de travail. La liste suivante présente les types de travaux courants.

  • backgroundJob. Travail local démarré à l’aide de Start-Job.
  • RemoteJob . Travail démarré dans un psSession à l’aide du paramètre AsJob de l’applet de commande Invoke-Command.
  • PSWorkflowJob. Travail démarré à l’aide de l'AsJob paramètre commun de flux de travail.