Get-Job

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

Syntax

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 Get-Job de commande obtient des objets qui représentent les travaux en arrière-plan 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 Start-Job de commande ou à l’aide du paramètre AsJob de n’importe quelle applet de commande.

Sans paramètres, une Get-Job commande obtient tous les travaux de la session active. Vous pouvez utiliser les paramètres de l’obtention de Get-Job 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 Receive-Job commande.

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 Get-Job de commande 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 du travail.

Pour activer Get-Job l’obtention d’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 Get-Job commande, soit à l’aide de l’applet Import-Module de commande, soit en utilisant ou en obtenant une applet de commande dans le module. Pour plus d'informations sur un type de tâche personnalisé particulier, consultez la documentation sur la fonctionnalité de type de tâche personnalisé.

Exemples

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

Cette commande obtient toutes les tâches en arrière-plan démarrées dans la session active. Elle n'inclut pas les tâches créées dans d'autres sessions, même si elles 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 indiquent comment obtenir l'ID d'instance d'une tâche, puis l'utiliser pour arrêter une tâche. Contrairement au nom de la tâche, qui n'est pas unique, l'ID d'instance est unique.

La première commande utilise l’applet Get-Job de commande 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 $j variable. 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 $j variable et la stocke dans la $ID variable. La troisième commande affiche la valeur de la $ID variable. La quatrième commande utilise Stop-Job l’applet de commande pour arrêter le travail. Il utilise le paramètre InstanceId pour identifier le travail et $ID la 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 Get-Process commande. 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 carte (*) pour obtenir des travaux qui incluent une Get-Process commande 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 Get-Process commande. La commande utilise un opérateur de pipeline (|) pour envoyer un PSCustomObject avec la commande NoteProperty à l’applet Get-Job de commande. Elle est équivalente à 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 tâches qui ont été créées mais qui n'ont pas encore démarré. Cela inclut les tâches dont l'exécution est planifiée ultérieurement et celles qui ne sont pas encore planifiées.

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. Comme job<number> il s’agit du 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 Start-Job de commande pour démarrer un travail en arrière-plan qui exécute une Get-Process commande sur l’ordinateur local. La commande utilise le paramètre Name de Start-Job l’affectation d’un nom convivial au travail. La deuxième commande utilise Get-Job pour obtenir le travail. Il utilise le paramètre Name de l’identification Get-Job du travail. La commande enregistre l’objet de travail résultant dans la $j variable. La troisième commande affiche la valeur de l’objet de travail dans la $j variable. 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 Receive-Job de commande pour obtenir les résultats du travail. Il utilise l’objet de travail dans la $j variable 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 Get-Job de commande 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 Start-Job de commande pour démarrer un travail sur l’ordinateur local. La deuxième commande utilise le paramètre AsJob de l’applet Invoke-Command de commande 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 Invoke-Command de commande pour exécuter une Start-Job commande 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 Start-Job de commande est un travail en arrière-plan et que le travail démarré dans une session distante à l’aide de l’applet Invoke-Command de commande est un travail distant. La cinquième, sixième et septième commande utilise l’applet New-PSSession de commande 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 Get-Job commande sur l’ordinateur S2 à l’aide de PSSession. L’exemple de sortie affiche les résultats de la Get-Job commande. 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 examiner pourquoi un travail a échoué. Elle illustre également comment obtenir les tâches enfant de chaque tâche.

La première commande utilise l’applet Start-Job de commande 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 est Failed.

La deuxième commande utilise l’applet Get-Job de commande 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 Format-List de commande, qui met en forme toutes les propriétés de l’objet (*) dans une liste. Le résultat de la Format-List commande indique que la valeur de la propriété Reason du travail est vide.

La troisième commande examine plus. Il utilise une Get-Job commande pour obtenir le travail, puis utilise un opérateur de pipeline pour envoyer l’objet de travail entier à l’applet Format-List de commande, 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 flux de travail mot clé 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 pour Get-Job 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 Get-Job de commande.

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 tâches terminées après la date et l'heure spécifiées. Entrez un objet DateTime , tel qu’un objet retourné par l’applet Get-Date de commande 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 Start-Job commande. Pour plus d'informations sur la prise en charge de ce paramètre, consultez la rubrique d'aide relative au type de tâche.

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

Type:DateTime
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Before

Obtient les tâches terminées 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 Start-Job commande. Pour plus d'informations sur la prise en charge de ce paramètre, consultez la rubrique d'aide relative au type de tâche.

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

Type:DateTime
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ChildJobState

Obtient uniquement les tâches enfant dans l'état spécifié. Les valeurs valides pour ce paramètre sont :

  • NotStarted
  • En cours d’exécution
  • Terminée
  • Échec
  • Arrêté
  • Bloqué
  • Interrompu
  • Déconnecté
  • Suspension
  • Arrêt en cours

Par défaut, Get-Job ne obtient pas de travaux enfants. En utilisant le 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
Accepted values:NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping, AtBreakpoint
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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. Par défaut, il s'agit de toutes les tâches. Vous pouvez utiliser des caractères génériques carte pour spécifier un modèle de commande.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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 les propriétés des travaux et les valeurs celles des propriétés des travaux.

Ce paramètre fonctionne uniquement sur les types de tâches personnalisées, tels que les tâches de workflow et les tâches planifiées. Elle ne fonctionne pas sur les travaux en arrière-plan standard, tels que ceux créés à l’aide de l’applet de Start-Job commande. Pour plus d'informations sur la prise en charge de ce paramètre, consultez la rubrique d'aide relative au type de tâche.

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

Type:Hashtable
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-HasMoreData

Indique si cette applet de commande obtient uniquement les travaux qui ont la valeur de propriété HasMoreData spécifiée. 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 Receive-Job de commande.

Lorsque vous utilisez l’applet Receive-Job de commande, elle supprime de son stockage en mémoire, spécifique à la session, les résultats qu’il a renvoyé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 du travail sur $False) pour indiquer qu’il n’a plus de résultats pour le travail dans la session active. Utilisez le paramètre Keep pour empêcher Receive-Job la suppression des Receive-Job résultats et la modification de la valeur de la propriété HasMoreData. Pour plus d'informations, voir 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, comme le type de travail planifié, qui enregistre les résultats du travail sur le disque, vous pouvez utiliser l’applet Receive-Job de commande 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 du type de tâche personnalisé.

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

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InstanceId

Spécifie un tableau d’ID d’instance de travaux que cette applet de commande obtient. Par défaut, il s'agit de toutes les tâches.

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

Type:Guid[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

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

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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 Sort-Object commande.

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

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-State

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

  • NotStarted
  • En cours d’exécution
  • Terminée
  • Échec
  • Arrêté
  • Bloqué
  • Interrompu
  • Déconnecté
  • Suspension
  • Arrêt en cours

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
Accepted values:NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping, AtBreakpoint
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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 tâche. La liste suivante affiche les types de tâches courants.

  • BackgroundJob. Travail local démarré à l’aide Start-Jobde .
  • RemoteJob. Travail démarré dans une session PSSession à l’aide du paramètre AsJob de l’applet Invoke-Command de commande.
  • PSWorkflowJob. Travail démarré à l’aide du paramètre commun AsJob des flux de travail.