Set-JobTrigger
Modifie le déclencheur d'une tâche planifiée.
Syntaxe
Set-JobTrigger
[-InputObject] <ScheduledJobTrigger[]>
[-DaysInterval <Int32>]
[-WeeksInterval <Int32>]
[-RandomDelay <TimeSpan>]
[-At <DateTime>]
[-User <String>]
[-DaysOfWeek <DayOfWeek[]>]
[-AtStartup]
[-AtLogOn]
[-Once]
[-RepetitionInterval <TimeSpan>]
[-RepetitionDuration <TimeSpan>]
[-RepeatIndefinitely]
[-Daily]
[-Weekly]
[-PassThru]
[<CommonParameters>]
Description
L’applet Set-JobTrigger
de commande modifie les propriétés des déclencheurs de travaux planifiés. Vous pouvez l'utiliser pour modifier l'heure ou la fréquence à laquelle les tâches démarrent ou pour passer des planifications basées sur l'heure à des planifications qui sont déclenchées par un démarrage ou une ouverture de session.
Un déclencheur de travail définit une planification ou des conditions périodiques pour démarrer un travail planifié. Même si les déclencheurs de tâche ne sont pas enregistrés sur disque, vous pouvez modifier les déclencheurs des tâches planifiées, qui sont enregistrées sur disque.
Pour modifier un déclencheur de travail d’un travail planifié, commencez par utiliser l’applet Get-JobTrigger
de commande pour obtenir le déclencheur de travail d’un travail planifié. Ensuite, dirigez le déclencheur vers Set-JobTrigger
ou enregistrez le déclencheur dans une variable et utilisez le paramètre InputObject de l’applet de Set-JobTrigger
commande pour identifier le déclencheur.
Utilisez les paramètres restants de la modification Set-JobTrigger
du déclencheur de travail.
Lorsque vous modifiez le type d’un déclencheur de travail, par exemple la modification d’un déclencheur de travail d’un déclencheur quotidien ou hebdomadaire vers un déclencheur AtLogon , les propriétés du déclencheur d’origine sont supprimées. Toutefois, si vous modifiez les valeurs du déclencheur, mais pas son type, par exemple en modifiant les jours dans un déclencheur hebdomadaire, seules les propriétés que vous spécifiez sont modifiées. Toutes les autres propriétés du déclencheur de tâche d'origine sont conservées.
Set-JobTrigger
est l’une des collections d’applets de commande de planification de travaux dans le module PSScheduledJob inclus dans Windows PowerShell.
Pour plus d'informations sur les tâches planifiées, consultez les rubriques À propos dans le module PSScheduledJob. Importez le module PSScheduledJob, puis tapez : Get-Help about_Scheduled*
ou consultez about_Scheduled_Jobs.
Cette applet de commande a été introduite dans Windows PowerShell 3.0.
Exemples
Exemple 1 : Modifier les jours d’un déclencheur de travail
Cet exemple montre comment modifier les jours dans un déclencheur de tâche hebdomadaire.
Get-JobTrigger -Name "DeployPackage"
Id Frequency Time DaysOfWeek Enabled
-- --------- ---- ---------- -------
1 Weekly 9/29/2011 12:00:00 AM {Wednesday, Saturday} True
Get-JobTrigger -Name "DeployPackage" | Set-JobTrigger -DaysOfWeek "Wednesday", "Sunday" -PassThru
Id Frequency Time DaysOfWeek Enabled
-- --------- ---- ---------- -------
1 Weekly 9/29/2011 12:00:00 AM {Wednesday, Sunday} True
La première commande utilise l’applet Get-JobTrigger
de commande pour obtenir le déclencheur de travail planifié DeployPackage
. La sortie indique que le déclencheur démarre la tâche à minuit le mercredi et le samedi.
La deuxième commande utilise l’applet Get-JobTrigger
de commande pour obtenir le déclencheur de travail du DeployPackage
travail planifié. Un opérateur de pipeline (|
) envoie le déclencheur à l’applet Set-JobTrigger
de commande, ce qui modifie le déclencheur de travail afin qu’il démarre le DeployPackage
travail les mercredis et les dimanches. La commande utilise le paramètre PassThru pour retourner le déclencheur après la modification.
Cette commande n'est pas obligatoire ; elle est incluse uniquement pour montrer l'effet de la modification du déclencheur.
Exemple 2 : Modifier le type de déclencheur de travail
Cet exemple montre comment modifier le type de déclencheur de tâche qui démarre une tâche. Les commandes de cet exemple remplacent un AtStartup
déclencheur de travail par un déclencheur hebdomadaire.
Get-JobTrigger -Name "Inventory"
Id Frequency Time DaysOfWeek Enabled
-- --------- ---- ---------- -------
1 Daily 9/27/2011 11:00:00 PM True
2 AtStartup True
Get-JobTrigger -Name "Inventory" -TriggerID 2 | Set-JobTrigger -Weekly -WeeksInterval 4 -DaysOfWeek Monday -At "12:00 AM"
Id Frequency Time DaysOfWeek Enabled
-- --------- ---- ---------- -------
1 Daily 9/27/2011 11:00:00 PM True
2 Weekly 10/31/2011 12:00:00 AM {Monday} True
La première commande utilise l’applet Get-JobTrigger
de commande pour obtenir le déclencheur de travail planifié Inventory
. La sortie indique que le travail a deux déclencheurs un déclencheur quotidien et un déclencheur AtStartup .
La deuxième commande utilise l’applet Get-JobTrigger
de commande pour obtenir le déclencheur de travail AtStartup du Inventory
travail. La commande utilise le paramètre TriggerID pour identifier le déclencheur de travail. Un opérateur de pipeline (|
) envoie le déclencheur de travail à l’applet Set-JobTrigger
de commande, ce qui le remplace par un déclencheur de travail hebdomadaire qui s’exécute tous les quatre semaines le lundi à minuit. La commande utilise le paramètre PassThru pour retourner le déclencheur après la modification.
Cette commande n'est pas obligatoire ; elle est incluse uniquement pour montrer l'effet de la modification du déclencheur.
Exemple 3 : Modifier l’utilisateur sur un déclencheur de travail distant
Invoke-Command -ComputerName "Server01" -ScriptBlock {Get-ScheduledJob | Get-JobTrigger | Where-Object {$_.User} | Set-JobTrigger -User "Domain01/Admin02"}
Cette commande modifie l’utilisateur dans tous les déclencheurs de travaux AtLogon des travaux planifiés sur l’ordinateur Server01.
La commande utilise l’applet Invoke-Command
de commande pour exécuter une commande sur l’ordinateur Server01.
La commande distante commence par une Get-ScheduledJob
commande qui obtient tous les travaux planifiés sur l’ordinateur. Les travaux planifiés sont redirigés vers l’applet Get-JobTrigger
de commande, ce qui obtient les déclencheurs de travail des travaux planifiés. Chaque déclencheur de travail contient une propriété JobDefinition qui contient le travail planifié, de sorte que le déclencheur reste associé au travail planifié même lorsqu’il est modifié.
Les déclencheurs de travail sont redirigés vers l’applet Where-Object
de commande, ce qui obtient les déclencheurs de travail qui ont la propriété User . Les déclencheurs de travail sélectionnés sont redirigés vers l’applet Set-JobTrigger
de commande, ce qui modifie l’utilisateur Domain01\Admin02
en .
Exemple 4 : Modifier l’un des nombreux déclencheurs de travail
Get-JobTrigger -Name "SecurityCheck"
Id Frequency Time DaysOfWeek Enabled
-- --------- ---- ---------- -------
1 Daily 4/24/2013 3:00:00 AM True
2 Weekly 4/24/2013 4:00:00 PM {Sunday} True
3 Once 4/24/2013 4:00:00 PM True
Get-JobTrigger -Name "SecurityCheck" -TriggerID 3 | Format-List -Property *
At : 4/24/2012 4:00:00 PM
DaysOfWeek :
Interval : 1
Frequency : Once
RandomDelay : 00:00:00
RepetitionInterval : 01:00:00
RepetitionDuration : 1.00:00:00
User :
Id : 3
Enabled : True
JobDefinition : Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition
Get-JobTrigger -Name "SecurityCheck" -TriggerId 3 | Set-JobTrigger -RepetitionInterval (New-TimeSpan -Minutes 90)
Get-JobTrigger -Name "SecurityCheck" -TriggerID 3 | Format-List -Property *
At : 4/24/2012 4:00:00 PM
DaysOfWeek :
Interval : 1
Frequency : Once
RandomDelay : 00:00:00
RepetitionInterval : 01:30:00
RepetitionDuration : 1.00:00:00
User :
Id : 3
Enabled : True
JobDefinition : Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition
Les commandes de cet exemple modifient l’intervalle de répétition du déclencheur SecurityCheck
De travail une fois planifié de toutes les 60 minutes à toutes les 90 minutes. Le SecurityCheck
travail planifié comporte trois déclencheurs de travail. Les commandes utilisent donc le paramètre TriggerId de l’applet Get-JobTrigger
de commande pour identifier le déclencheur de travail en cours de modification.
La première commande utilise l’applet Get-JobTrigger
de commande pour obtenir tous les déclencheurs de travail du SecurityCheck
travail planifié. La sortie, qui affiche les ID des déclencheurs de travail, révèle que le déclencheur Une fois le travail a un ID de 3
.
La deuxième commande utilise le paramètre TriggerID de l’applet Get-JobTrigger
de commande pour obtenir le déclencheur Once du SecurityCheck
travail planifié. La commande canalise le déclencheur vers l’applet Format-List
de commande, qui affiche toutes les propriétés du déclencheur de travail Une fois . La sortie indique que le déclencheur démarre le travail une fois par heure (RepetitionInterval est de 1 heure) pendant une journée (La répétition est de 1 jour).
La troisième commande modifie l’intervalle de répétition du déclencheur de travail d’une heure à 90 minutes. La commande ne retourne aucune sortie.
La quatrième commande affiche l’effet de la modification. La sortie indique que le déclencheur démarre le travail une fois toutes les 90 minutes (RepetitionInterval est de 1 heure, 30 minutes) pendant un jour (La répétition est de 1 jour).
Paramètres
-At
Démarre la tâche à la date et à l'heure spécifiées. Entrez un objet DateTime , tel que celui retourné par l’applet Get-Date
de commande, ou une chaîne qui peut être convertie en une heure, telle que April 19, 2012 15:00
, 12/31/2013 9:00 PM
ou 3am
.
Si vous ne spécifiez pas d’élément de l’objet DateTime , tel que des secondes, cet élément du déclencheur de travail n’est pas modifié. Si le déclencheur de travail d’origine n’incluait pas d’objet DateTime et que vous omettez un élément, le déclencheur de travail est créé avec l’élément correspondant à partir de la date et de l’heure actuelles.
Lorsque vous utilisez le paramètre Once , définissez la valeur du paramètre At sur une date et une heure particulières. Étant donné que la date par défaut d’un objet DateTime est la date actuelle, la définition d’une heure avant l’heure actuelle sans date explicite entraîne un déclencheur de travail pour une heure dans le passé.
Les objets DateTime et les chaînes convertis en objets DateTime sont automatiquement ajustés pour être compatibles avec les formats de date et d’heure sélectionnés pour l’ordinateur local dans la région et la langue dans Panneau de configuration.
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 |
-AtLogOn
Démarre la tâche planifiée quand les utilisateurs spécifiés se connectent à l'ordinateur. Pour spécifier un utilisateur, utilisez le paramètre User .
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 |
-AtStartup
Démarre la tâche planifiée au démarrage de Windows.
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 |
-Daily
Spécifie une planification de tâche quotidienne périodique. Utilisez les autres paramètres de l’ensemble de paramètres Daily pour spécifier les détails de la planification.
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 |
-DaysInterval
Spécifie le nombre de jours entre les occurrences d'une planification quotidienne. Par exemple, une valeur de démarrage du 3
travail planifié sur les jours 1
, 4
7
et ainsi de suite. La valeur par défaut est 1
.
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 |
-DaysOfWeek
Spécifie les jours de la semaine qu'une tâche planifiée hebdomadaire s'exécute. Entrez des noms de jour, tels que Monday
, entiersThursday
, où 0
représente dimanche ou astérisque6
0
- (*
) pour représenter tous les jours. Ce paramètre est requis dans l’ensemble de paramètres Hebdomadaires .
Les noms de jours sont convertis dans leurs valeurs entières dans le déclencheur de tâche. Lorsque vous placez des noms de jour entre guillemets dans une commande, placez chaque nom de jour entre guillemets distincts, tels que "Monday", "Tuesday"
. Si vous incluez plusieurs noms de jours dans une seule paire de guillemets droits, les valeurs entières correspondantes sont additionnées. Par exemple, "Monday, Tuesday"
(1 + 2
) génère une valeur (Wednesday
3
).
Type: | DayOfWeek[] |
Valeurs acceptées: | Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-InputObject
Spécifie les déclencheurs de tâche. Entrez une variable qui contient des objets ScheduledJobTrigger ou tapez une commande ou une expression qui obtient des objets ScheduledJobTrigger , tels qu’une Get-JobTrigger
commande.
Vous pouvez également diriger un objet ScheduledJobTrigger vers Set-JobTrigger
.
Si vous spécifiez plusieurs déclencheurs de travail, Set-JobTrigger
apporte les mêmes modifications à tous les déclencheurs de travail.
Type: | ScheduledJobTrigger[] |
Position: | 0 |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | False |
-Once
Spécifie une planification non périodique (unique).
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 |
-PassThru
Retourne les déclencheurs de tâche modifiés. Par défaut, cette applet de commande ne génère aucun résultat.
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 |
-RandomDelay
Active un délai aléatoire qui commence à l'heure de début planifiée et définit la valeur maximale du délai.
La longueur du délai est définie de manière pseudo-aléatoire pour chaque démarrage et elle varie entre aucun délai et la durée spécifiée par la valeur de ce paramètre. La valeur par défaut, zéro (00:00:00
), désactive le délai aléatoire.
Entrez un objet timespan, tel qu’un retourné par l’applet New-TimeSpan
de commande, ou entrez une valeur au <hours>:<minutes>:<seconds>
format, qui est automatiquement convertie en objet timespan.
Type: | TimeSpan |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-RepeatIndefinitely
Ce paramètre, disponible à partir de Windows PowerShell 4.0, élimine la nécessité de spécifier une valeur TimeSpan.MaxValue pour le paramètre RepetitionDuration afin d’exécuter un travail planifié à plusieurs reprises, pendant une période indéfinie.
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 |
-RepetitionDuration
Répète la tâche jusqu'à ce que le délai spécifié expire. La fréquence de répétition est déterminée par la valeur du paramètre RepetitionInterval . Par exemple, si la valeur de RepetitionInterval est de 5 minutes et que la valeur de RepetitionDuration est de 2 heures, le travail est déclenché toutes les cinq minutes pendant deux heures.
Entrez un objet timespan, tel que celui retourné par l’applet New-TimeSpan
de commande ou une chaîne qui peut être convertie en objet timespan, tel que 1:05:30
.
Pour exécuter un travail indéfiniment, ajoutez le paramètre RepeatIndefinitely à la place.
Pour arrêter un travail avant l’expiration de la durée de répétition du déclencheur de travail, définissez la valeur De répétition sur zéro (0
).
Pour modifier la durée de répétition ou l’intervalle de répétition d’un déclencheur de travail Une fois , la commande doit inclure les paramètres RepetitionInterval et RepetitionDuration . Pour modifier la durée de répétition ou les intervalles de répétition d’autres types de déclencheurs de travail, la commande doit inclure les paramètres Once, At, RepetitionInterval et RepetitionDuration .
Type: | TimeSpan |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-RepetitionInterval
Répète la tâche à l'intervalle de temps spécifié. Par exemple, si la valeur de ce paramètre est de 2 heures, la tâche est déclenchée toutes les deux heures. La valeur par défaut, 0
ne répète pas le travail.
Entrez un objet timespan, tel que celui retourné par l’applet New-TimeSpan
de commande ou une chaîne qui peut être convertie en objet timespan, tel que 1:05:30
.
Pour modifier la durée de répétition ou l’intervalle de répétition d’un déclencheur de travail Une fois , la commande doit inclure les paramètres RepetitionInterval et RepetitionDuration . Pour modifier la durée de répétition ou les intervalles de répétition d’autres types de déclencheurs de travail, la commande doit inclure les paramètres Once, At, RepetitionInterval et RepetitionDuration .
Type: | TimeSpan |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-User
Spécifie les utilisateurs qui déclenchent un démarrage AtLogon d’un travail planifié. Entrez le nom d’un utilisateur dans ou au <UserName>
format ou <Domain>\<Username>
entrez un astérisque (*
) pour représenter tous les utilisateurs. La valeur par défaut est tous les utilisateurs.
Type: | String |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Weekly
Spécifie une planification de tâche hebdomadaire périodique. Utilisez les autres paramètres de l’ensemble de paramètres Hebdomadaires pour spécifier les détails de la planification.
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 |
-WeeksInterval
Spécifie le nombre de semaines entre les occurrences d'une planification de tâche hebdomadaire. Par exemple, une valeur de démarrage de 3
la tâche planifiée sur les 1
semaines , 4
7
et ainsi de suite. La valeur par défaut est 1
.
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 |
Entrées
Vous pouvez diriger un déclencheur de travail vers cette applet de commande.
Sorties
None
Par défaut, cette applet de commande ne retourne aucune sortie.
Lorsque vous utilisez le paramètre PassThru , cette applet de commande retourne les déclencheurs de travail qu’il a modifiés.
Notes
- Les déclencheurs de travail ont une propriété JobDefinition qui les associe au travail planifié. Quand vous modifiez le déclencheur d'une tâche planifiée, la tâche est modifiée. Vous n’avez pas besoin d’utiliser une
Set-ScheduledJob
commande pour appliquer le déclencheur modifié au travail planifié.
Liens associés
- Add-JobTrigger
- Disable-JobTrigger
- Disable-ScheduledJob
- Enable-JobTrigger
- Enable-ScheduledJob
- Get-JobTrigger
- Get-ScheduledJob
- Get-ScheduledJobOption
- New-JobTrigger
- New-ScheduledJobOption
- Register-ScheduledJob
- Remove-JobTrigger
- Set-JobTrigger
- Set-ScheduledJob
- Set-ScheduledJobOption
- Unregister-ScheduledJob