Remove-Job
Supprime un travail en arrière-plan PowerShell.
Syntaxe
SessionIdParameterSet (Par défaut)
Remove-Job
[-Id] <Int32[]>
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
JobParameterSet
Remove-Job
[-Job] <Job[]>
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
NameParameterSet
Remove-Job
[-Name] <String[]>
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
InstanceIdParameterSet
Remove-Job
[-InstanceId] <Guid[]>
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
FilterParameterSet
Remove-Job
[-Filter] <Hashtable>
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
StateParameterSet
Remove-Job
[-State] <JobState>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
CommandParameterSet
Remove-Job
[-Command <String[]>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
L’applet Remove-Job de commande supprime les travaux en arrière-plan PowerShell qui ont été démarrés par l’applet Start-Job de commande ou par des applets de commande telles que Invoke-Command celles qui prennent en charge le paramètre AsJob .
Vous pouvez utiliser Remove-Job pour supprimer tous les travaux ou supprimer les travaux sélectionnés. Les travaux sont identifiés par leur nom, id, instanceId, commande ou état. Vous pouvez également envoyer un objet de travail vers le pipeline Remove-Job. Sans paramètres ou valeurs de paramètre, Remove-Job n’a aucun effet.
Étant donné que PowerShell 3.0 peut Remove-Job supprimer des types de travaux personnalisés, tels que les travaux planifiés et les travaux de flux de travail. Par exemple, Remove-Job supprime le travail planifié, toutes les instances de la tâche planifiée sur le disque et les résultats de toutes les instances de travail déclenchées.
Si vous essayez de supprimer un travail en cours d’exécution, Remove-Job échoue. Utilisez l’applet Stop-Job de commande pour arrêter un travail en cours d’exécution. Vous pouvez également utiliser Remove-Job le paramètre Force pour supprimer un travail en cours d’exécution.
Les travaux restent dans le cache de travaux global jusqu’à ce que vous supprimiez le travail en arrière-plan ou fermez la session PowerShell.
Exemples
Exemple 1 : Supprimer un travail à l’aide de son nom
Cet exemple utilise une variable et le pipeline pour supprimer un travail par nom.
$batch = Get-Job -Name BatchJob
$batch | Remove-Job
Get-Job utilise le paramètre Name pour spécifier le travail , BatchJob. L’objet de travail est stocké dans la variable $batch. L’objet dans $batch lequel est envoyé le pipeline vers Remove-Job.
Une alternative consiste à utiliser le paramètre Job , tel que Remove-Job -Job $batch.
Exemple 2 : Supprimer tous les travaux d’une session
Dans cet exemple, tous les travaux de la session PowerShell actuelle sont supprimés.
Get-Job | Remove-Job
Get-Job obtient tous les travaux de la session PowerShell actuelle. Les objets de travail sont envoyés au pipeline vers Remove-Job.
Exemple 3 : Supprimer les travaux notStarted
Cet exemple supprime tous les travaux de la session PowerShell actuelle qui n’ont pas démarré.
Remove-Job -State NotStarted
Remove-Job utilise le paramètre State pour spécifier l’état du travail.
Exemple 4 : Supprimer des travaux à l’aide d’un nom convivial
Cet exemple supprime tous les travaux de la session active avec des noms conviviaux qui se terminent par batch*, y compris les travaux en cours d’exécution.
Remove-Job -Name *batch -Force
Remove-Job utilise le paramètre Name pour spécifier un modèle de nom de travail. Le modèle inclut le caractère générique astérisque (*) pour rechercher tous les noms de travaux qui se terminent par le lot. Le paramètre Force supprime les travaux qui s’exécutent.
Exemple 5 : Supprimer un travail créé par Invoke-Command
Cet exemple supprime un travail démarré sur un ordinateur distant à l’aide Invoke-Command du paramètre AsJob .
Étant donné que l’exemple utilise le paramètre AsJob , l’objet de travail est créé sur l’ordinateur local. Toutefois, le travail s’exécute sur un ordinateur distant. Par conséquent, vous utilisez des commandes locales pour gérer le travail.
$job = Invoke-Command -ComputerName Server01 -ScriptBlock {Get-Process} -AsJob
$job | Remove-Job
Invoke-Command exécute un travail sur l’ordinateur Server01 . Le paramètre AsJob exécute ScriptBlock en tant que travail en arrière-plan. L’objet de travail est stocké dans la variable $job. L’objet $job variable est envoyé vers le bas du pipeline vers Remove-Job.
Exemple 6 : Supprimer un travail créé par Invoke-Command et Start-Job
Cet exemple montre comment supprimer un travail sur un ordinateur distant qui a été démarré à l’aide Invoke-Command de l’exécution Start-Job. L’objet de travail est créé sur l’ordinateur distant et les commandes distantes sont utilisées pour gérer le travail. Une connexion persistante est requise lors de l’exécution d’une commande distante Start-Job .
$S = New-PSSession -ComputerName Server01
Invoke-Command -Session $S -ScriptBlock {Start-Job -ScriptBlock {Get-Process} -Name MyJob}
Invoke-Command -Session $S -ScriptBlock {Remove-Job -Name MyJob}
New-PSSession crée une session PSSession, une connexion persistante, à l’ordinateur Server01 . La connexion est enregistrée dans la $S variable.
Invoke-Command se connecte à la session enregistrée dans $S.
ScriptBlock utilise Start-Job pour démarrer un travail distant. Le travail exécute une Get-Process commande et utilise le paramètre Name pour spécifier un nom de travail convivial, MyJob.
Invoke-Command utilise la session et s’exécute $SRemove-Job. Le paramètre Name spécifie que le travail nommé MyJob est supprimé.
Exemple 7 : Supprimer un travail à l’aide de son InstanceId
Cet exemple supprime un travail en fonction de son InstanceId.
$job = Start-Job -ScriptBlock {Get-Process powershell}
$job | Format-List -Property *
Remove-Job -InstanceId ad02b942-8007-4407-87f3-d23e71955872
State : Completed
HasMoreData : True
StatusMessage :
Location : localhost
Command : Get-Process powershell
JobStateInfo : Completed
Finished : System.Threading.ManualResetEvent
InstanceId : ad02b942-8007-4407-87f3-d23e71955872
Id : 3
Name : Job3
ChildJobs : {Job4}
PSBeginTime : 7/26/2019 11:36:56
PSEndTime : 7/26/2019 11:36:57
PSJobTypeName : BackgroundJob
Output : {}
Error : {}
Progress : {}
Verbose : {}
Debug : {}
Warning : {}
Information : {}
Start-Job démarre un travail en arrière-plan et l’objet de travail est enregistré dans la $job variable.
L’objet dans $job lequel est envoyé le pipeline vers Format-List. Le paramètre Property utilise un astérisque (*) pour spécifier que toutes les propriétés de l’objet sont affichées dans une liste.
Remove-Job utilise le paramètre InstanceId pour spécifier le travail à supprimer.
Paramètres
-Command
Supprime les travaux qui incluent les mots spécifiés dans la commande. Vous pouvez entrer un tableau séparé par des virgules.
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
CommandParameterSet
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
-Confirm
Vous invite à confirmer avant Remove-Job l’exécution.
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 |
-Filter
Supprime les travaux qui répondent à toutes les conditions établies dans la table de hachage associée. 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. Il ne fonctionne pas sur les travaux en arrière-plan standard, tels que ceux créés à l’aide du Start-Job.
Ce paramètre est introduit dans PowerShell 3.0.
Propriétés du paramètre
| Type: | Hashtable |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
FilterParameterSet
| Position: | 0 |
| Obligatoire: | True |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
-Force
Supprime un travail même si l’état du travail est en cours d’exécution. Si le paramètre Force n’est pas spécifié, Remove-Job ne supprime pas les travaux en cours d’exécution.
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: | F |
Jeux de paramètres
SessionIdParameterSet
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
JobParameterSet
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
InstanceIdParameterSet
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
NameParameterSet
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
FilterParameterSet
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-Id
Supprime les travaux en arrière-plan avec l’ID spécifié. Vous pouvez entrer un tableau séparé par des virgules. L’ID du travail est un entier unique qui identifie un travail dans la session active.
Pour rechercher l’ID d’un travail, utilisez Get-Job sans paramètres.
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
SessionIdParameterSet
| Position: | 0 |
| Obligatoire: | True |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
-InstanceId
Supprime les travaux avec l’Id d’instance spécifié. Vous pouvez entrer un tableau séparé par des virgules. Un Id d’instance est un GUID unique qui identifie un travail.
Pour rechercher l’Id d’instance d’un travail, utilisez Get-Job.
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
InstanceIdParameterSet
| Position: | 0 |
| Obligatoire: | True |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
-Job
Spécifie les travaux à supprimer. Entrez une variable qui contient les travaux ou une commande qui obtient les travaux. Vous pouvez entrer un tableau séparé par des virgules.
Vous pouvez envoyer des objets de travail vers le pipeline .Remove-Job
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
Supprime uniquement les travaux portant le nom convivial spécifié. Les caractères génériques sont autorisés. Vous pouvez entrer un tableau séparé par des virgules.
Les noms conviviaux pour les travaux ne sont pas garantis comme uniques, même dans une session PowerShell. Utilisez les paramètres WhatIf et Confirm lorsque vous supprimez des fichiers par nom.
Propriétés du paramètre
| Type: | String[] |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | True |
| DontShow: | False |
Jeux de paramètres
NameParameterSet
| Position: | 0 |
| Obligatoire: | True |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
-State
Supprime uniquement les travaux avec l’état spécifié. Pour supprimer des travaux avec l’état En cours d’exécution, utilisez le paramètre Force .
Valeurs acceptées :
- AtBreakpoint
- Bloqué
- Terminé
- Déconnecté
- Échec
- NotStarted
- Course à pied
- Arrêté
- Arrêt
- Suspendu
- Suspension en cours
Propriétés du paramètre
| Type: | JobState |
| Valeur par défaut: | None |
| Valeurs acceptées: | AtBreakpoint, Blocked, Completed, Disconnected, Failed, NotStarted, Running, Stopped, Stopping, Suspended, Suspending |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
StateParameterSet
| Position: | 0 |
| Obligatoire: | True |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
-WhatIf
Montre ce qui se passerait si Remove-Job s’exécute. L’applet de commande n’est pas exécutée.
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
Job
Vous pouvez diriger un objet Job vers cette applet de commande.
Sorties
None
Cette applet de commande ne retourne aucune sortie.
Notes
PowerShell inclut les alias suivants pour Remove-Job:
- Toutes les plateformes :
rjb
Un travail PowerShell crée un processus. Une fois la tâche terminée, le processus se termine. Quand Remove-Job elle est exécutée, l’état du travail est supprimé.
Si un travail s’arrête avant l’achèvement et que son processus n’a pas quitté, le processus est arrêté de force.