Resume-Job
Redémarre une tâche suspendue.
Syntaxe
Resume-Job
[-Wait]
[-Id] <Int32[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Resume-Job
[-Job] <Job[]>
[-Wait]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Resume-Job
[-Wait]
[-Name] <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Resume-Job
[-Wait]
[-InstanceId] <Guid[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Resume-Job
[-Wait]
[-State] <JobState>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Resume-Job
[-Wait]
[-Filter] <Hashtable>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
L’applet Resume-Job
de commande reprend un travail de flux de travail qui a été suspendu, par exemple à l’aide de l’applet Suspend-Job
de commande ou de l’activité about_Suspend-Workflow . Lorsqu’un travail de flux de travail reprend, le moteur de travail reconstruit l’état, les métadonnées et la sortie des ressources enregistrées, telles que les points de contrôle. Le travail est redémarré sans perte d’état ou de données.
L’état du travail passe de Suspendu à En cours d’exécution.
Utilisez les paramètres de sélection des Resume-Job
travaux par nom, ID, ID d’instance ou canaliser un objet de travail, tel qu’un objet retourné par l’applet Get-Job
de commande, vers Resume-Job
. Vous pouvez aussi utiliser un filtre de propriété pour sélectionner une tâche à reprendre.
Par défaut, Resume-Job
retourne immédiatement, même si tous les travaux peuvent ne pas encore être repris. Pour supprimer l’invite de commandes jusqu’à ce que tous les travaux spécifiés soient repris, utilisez le paramètre Wait .
L’applet Resume-Job
de commande fonctionne uniquement sur les types de travaux personnalisés, tels que les travaux de flux de travail. Elle ne fonctionne pas sur les travaux en arrière-plan standard, tels que ceux démarrés à l’aide de l’applet Start-Job
de commande. Si vous envoyez un travail d’un type non pris en charge, Resume-Job
génère une erreur de fin et cesse de s’exécuter.
Pour identifier un travail de flux de travail, recherchez une valeur de PSWorkflowJob dans la propriété PSJobTypeName du travail. Pour déterminer si un type de travail personnalisé particulier prend en charge l’applet Resume-Job
de commande, consultez les rubriques d’aide pour le type de travail personnalisé.
Avant d’utiliser une applet de commande Job sur un type de travail personnalisé, importez le module qui prend en charge le type de travail personnalisé, à l’aide de l’applet de commande ou de l’obtention Import-Module
ou de l’utilisation d’une applet de commande dans le module.
Cette applet de commande a été introduite dans Windows PowerShell 3.0.
Exemples
Exemple 1 : Reprendre un travail par ID
Les commandes de cet exemple vérifient que la tâche est une tâche de workflow suspendue, puis reprennent la tâche. La première commande utilise l’applet Get-Job
de commande pour obtenir le travail. La sortie indique que le travail est un travail de flux de travail suspendu. La deuxième commande utilise le paramètre ID de l’applet Resume-Job
de commande pour reprendre le travail avec une valeur d’ID de 4.
PS C:\> Get-Job EventJob
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
4 EventJob PSWorkflowJob Suspended True Server01 \\Script\Share\Event.ps1
PS C:\> Resume-Job -Id 4
Exemple 2 : Reprendre un travail par nom
Cette commande utilise le paramètre Name pour reprendre plusieurs travaux de flux de travail sur l’ordinateur local.
PS C:\> Resume-Job -Name WorkflowJob, InventoryWorkflow, WFTest*
Exemple 3 : Utiliser des valeurs de propriété personnalisées
Cette commande utilise la valeur d'une propriété personnalisée pour identifier la tâche de workflow à reprendre. Il utilise le paramètre Filter pour identifier le travail de flux de travail par sa propriété CustomID . Il utilise également le paramètre State pour vérifier que le travail de flux de travail est suspendu, avant de tenter de le reprendre.
PS C:\> Resume-Job -Filter @{CustomID="T091291"} -State Suspended
Exemple 4 : Reprendre tous les travaux suspendus sur un ordinateur distant
Cette commande reprend toutes les tâches suspendues sur l'ordinateur distant Srv01.
PS C:\> Invoke-Command -ComputerName Srv01 -ScriptBlock {Get-Job -State Suspended | Resume-Job}
La commande utilise l’applet Invoke-Command
de commande pour exécuter une commande sur l’ordinateur Srv01. La commande distante utilise le paramètre État de l’applet Get-Job
de commande pour obtenir tous les travaux suspendus sur l’ordinateur. Un opérateur de pipeline (|
) envoie les travaux suspendus à l’applet Resume-Job
de commande, qui les reprend.
Exemple 5 : Attendre que les travaux reprendnt
Cette commande utilise le paramètre Wait pour diriger Resume-Job
pour retourner uniquement une fois que tous les travaux spécifiés sont repris. Le paramètre Wait est particulièrement utile dans les scripts qui supposent que les travaux sont repris avant la poursuite du script.
PS C:\> Resume-Job -Name WorkflowJob, InventoryWorkflow, WFTest* -Wait
Exemple 6 : Reprendre un flux de travail qui se suspend lui-même
Cet exemple de code montre l’activité Suspend-Workflow
dans un flux de travail.
Flux Test-Suspend
de travail sur l’ordinateur Server01. Lorsque vous exécutez le flux de travail, le flux de travail exécute l’activité Get-Date
et stocke le résultat dans la $a
variable. Ensuite, il exécute l’activité Suspend-Workflow
. En réponse, il prend un point de contrôle, suspend le flux de travail et retourne un objet de travail de flux de travail. Suspend-Workflow
retourne un objet de travail de flux de travail même si le flux de travail n’est pas exécuté explicitement en tant que travail.
Resume-Job
reprend le Test-Suspend
flux de travail dans Job8. Il utilise le paramètre Wait pour contenir l’invite de commandes jusqu’à ce que le travail soit repris.
L’applet Receive-Job
de commande obtient les résultats du Test-Suspend
flux de travail. La commande finale du flux de travail retourne un objet TimeSpan qui représente l’heure écoulée entre la date et l’heure actuelles et la date et l’heure enregistrées dans la $a
variable avant la suspension du flux de travail.
#SampleWorkflow
Workflow Test-Suspend
{
$a = Get-Date
Suspend-Workflow
(Get-Date)- $a
}
PS C:\> Test-Suspend -PSComputerName Server01
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
8 Job8 PSWorkflowJob Suspended True Server01 Test-Suspend
PS C:\> Resume-Job -Name "Job8" -Wait
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
8 Job8 PSWorkflowJob Running True Server01 Test-Suspend
PS C:\> Receive-Job -Name Job8
Days : 0
Hours : 0
Minutes : 0
Seconds : 19
Milliseconds : 823
Ticks : 198230041
TotalDays : 0.000229432917824074
TotalHours : 0.00550639002777778
TotalMinutes : 0.330383401666667
TotalSeconds : 19.8230041
TotalMilliseconds : 19823.0041
PSComputerName : Server01
L’applet Resume-Job
de commande vous permet de reprendre un travail de flux de travail qui a été suspendu à l’aide de l’activité Suspend-Workflow
. Cette activité suspend un workflow depuis un workflow. Elle est valide uniquement dans les workflows.
Pour plus d’informations sur le Suspend-Workflow
about_Suspend-Workflow](.. /PSWorkflow/about/about_Suspend-Workflow.md).
Paramètres
-Confirm
Vous demande une confirmation avant d’exécuter l’applet de commande.
Type: | SwitchParameter |
Alias: | cf |
Position: | Named |
Valeur par défaut: | False |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Filter
Spécifie une table de conditions de hachage. Cette applet de commande reprend les travaux qui répondent à toutes les conditions de la table de hachage. 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.
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 |
-Id
Spécifie un tableau d’ID pour les travaux que cette applet de commande reprend.
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, exécutez Get-Job
.
Type: | Int32[] |
Position: | 0 |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | False |
-InstanceId
Spécifie un tableau d’ID d’instance de travaux repris par cette applet de commande. 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, exécutez 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 |
-Job
Spécifie les tâches à reprendre. Entrez une variable qui contient les tâches ou tapez une commande permettant d'obtenir ces tâches. Vous pouvez également diriger des travaux vers l’applet Resume-Job
de commande.
Type: | Job[] |
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 de travaux que cette applet de commande reprend. Entrez un ou plusieurs noms de tâche. Les caractères génériques sont autorisés.
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: | False |
-State
Spécifie l’état des travaux à reprendre. 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
Cette applet de commande reprend uniquement les travaux dans l’état suspendu .
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 |
-Wait
Indique que cette applet de commande supprime l’invite de commandes jusqu’à ce que tous les résultats du travail soient redémarrés. Par défaut, cette applet de commande retourne immédiatement les résultats disponibles.
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 |
-WhatIf
Montre ce qui se passe en cas d’exécution de l’applet de commande. L’applet de commande n’est pas exécutée.
Type: | SwitchParameter |
Alias: | wi |
Position: | Named |
Valeur par défaut: | False |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
Entrées
Vous pouvez diriger tous les types de travaux vers cette applet de commande. Si Resume-Job
elle obtient un travail d’un type non pris en charge, elle retourne une erreur de fin.
Sorties
None, System.Management.Automation.Job
Cette applet de commande retourne les travaux qu’il tente de reprendre, si vous utilisez le paramètre PassThru . Sinon, cette applet de commande ne génère aucune sortie.
Notes
Windows PowerShell inclut les alias suivants pour Resume-Job
:
rujb
Resume-Job
ne peut reprendre que les travaux suspendus. Si vous envoyez un travail dans un autre état,Resume-Job
exécute l’opération de reprise sur le travail, mais génère un avertissement pour vous avertir que le travail n’a pas pu être repris. Pour supprimer l’avertissement, utilisez le paramètre commun WarningAction avec la valeur SilentlyContinue.Si un travail n’est pas d’un type qui prend en charge la reprise, tel qu’un travail de flux de travail (PSWorkflowJob),
Resume-Job
retourne une erreur de fin.Le mécanisme et l'emplacement pour enregistrer une tâche suspendue peuvent varier selon le type de tâche. Par exemple, les tâches de workflow suspendues sont enregistrées par défaut dans un magasin de fichiers plats, mais elles peuvent également être enregistrées dans une base de données SQL.
Lorsque vous reprenez un travail, l’état du travail passe de Suspendu à En cours d’exécution. Pour rechercher les travaux en cours d’exécution, y compris ceux qui ont été repris par cette applet de commande, utilisez le paramètre État de l’applet
Get-Job
de commande pour obtenir des travaux dans l’état en cours d’exécution.Certains types de tâche ont des options ou des propriétés qui empêchent Windows PowerShell de suspendre la tâche. Si des tentatives d’interruption du travail échouent, vérifiez que les options et propriétés du travail autorisent la suspension.