Partager via


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\Admin02en .

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 PMou 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, 47 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érisque60- (*) 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 (Wednesday3).

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, 0ne 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 1semaines , 47 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

ScheduledJobTrigger

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.

ScheduledJobTrigger

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é.