Partager via


New-JobTrigger

Crée un déclencheur de travail pour un travail planifié.

Syntaxe

New-JobTrigger
   [-RandomDelay <TimeSpan>]
   -At <DateTime>
   [-Once]
   [-RepetitionInterval <TimeSpan>]
   [-RepetitionDuration <TimeSpan>]
   [-RepeatIndefinitely]
   [<CommonParameters>]
New-JobTrigger
   [-DaysInterval <Int32>]
   [-RandomDelay <TimeSpan>]
   -At <DateTime>
   [-Daily]
   [<CommonParameters>]
New-JobTrigger
   [-WeeksInterval <Int32>]
   [-RandomDelay <TimeSpan>]
   -At <DateTime>
   -DaysOfWeek <DayOfWeek[]>
   [-Weekly]
   [<CommonParameters>]
New-JobTrigger
   [-RandomDelay <TimeSpan>]
   [-AtStartup]
   [<CommonParameters>]
New-JobTrigger
   [-RandomDelay <TimeSpan>]
   [-User <String>]
   [-AtLogOn]
   [<CommonParameters>]

Description

L’applet de commande New-JobTrigger crée un déclencheur de travail qui démarre un travail planifié selon une planification ponctuelle ou périodique, ou lorsqu’un événement se produit.

Vous pouvez utiliser l’objet ScheduledJobTrigger qui New-JobTrigger retourne pour définir un déclencheur de travail pour un travail planifié nouveau ou existant. Vous pouvez également créer un déclencheur de travail à l’aide de l’applet de commande Get-JobTrigger pour obtenir le déclencheur de travail d’un travail planifié existant ou à l’aide d’une valeur de table de hachage pour représenter un déclencheur de travail.

Lors de la création d’un déclencheur de travail, passez en revue les valeurs par défaut des options spécifiées par l’applet de commande New-ScheduledJobOption. Ces options, qui ont les mêmes valeurs valides et par défaut que les options correspondantes dans planificateur de tâches, affectent la planification et le minutage des travaux planifiés.

New-JobTrigger est une collection d’applets de commande de planification de travaux dans le module PSScheduledJob inclus dans Windows PowerShell.

Pour plus d’informations sur les travaux planifiés, consultez les rubriques À propos du 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 : Une fois la planification

PS C:\> New-JobTrigger -Once -At "1/20/2012 3:00 AM"

Cette commande utilise l’applet de commande New-JobTrigger pour créer un déclencheur de travail qui démarre un travail planifié une seule fois. La valeur du paramètre At est une chaîne que Windows PowerShell convertit en objet DateTime. La valeur du paramètre At inclut une date explicite, pas seulement une heure. Si la date a été omise, le déclencheur est créé avec la date actuelle et l’heure de 3h00, ce qui est susceptible de représenter une heure dans le passé.

Exemple 2 : Planification quotidienne

PS C:\> New-JobTrigger -Daily -At "4:15 AM" -DaysInterval 3
Id         Frequency       Time                   DaysOfWeek              Enabled
--         ---------       ----                   ----------              -------
0          Daily           9/21/2012 4:15:00 AM                           True

Cette commande crée un déclencheur de travail qui démarre un travail planifié tous les 3 jours à 4 h 15.

Étant donné que la valeur du paramètre At n’inclut pas de date, la date actuelle est utilisée comme valeur de date dans l’objet DateTime. Si la date et l’heure sont passées, le travail planifié est démarré à l’occurrence suivante, qui est de 3 jours plus tard à partir de la valeur du paramètre At.

Exemple 3 : Planification hebdomadaire

PS C:\> New-JobTrigger -Weekly -DaysOfWeek Monday, Wednesday, Friday -At "23:00" -WeeksInterval 4
Id Frequency Time                  DaysOfWeek                  Enabled
-- --------- ----                  ----------                  -------
0  Weekly    9/21/2012 11:00:00 PM {Monday, Wednesday, Friday} True

Cette commande crée un déclencheur de travail qui démarre un travail planifié tous les 4 semaines le lundi, le mercredi et le vendredi à 2300 heures (11h00).

Vous pouvez également entrer la valeur de paramètre DaysOfWeek dans des entiers, comme -DaysOfWeek 1, 5.

Exemple 4 : Planification de connexion

PS C:\> New-JobTrigger -AtLogOn -User Domain01\Admin01

Cette commande crée un déclencheur de travail qui démarre un travail planifié chaque fois que l’administrateur de domaine se connecte à l’ordinateur.

Exemple 5 : Utilisation d’un délai aléatoire

PS C:\> New-JobTrigger -Daily -At 1:00 -RandomDelay 00:20:00

Cette commande crée un déclencheur de travail qui démarre un travail planifié tous les jours à 1h00 le matin. La commande utilise le paramètre RandomDelay pour définir le délai maximal sur 20 minutes. Par conséquent, le travail s’exécute tous les jours entre 1h00 et 1h20, avec l’intervalle variable pseudo-aléatoirement.

Vous pouvez utiliser un délai aléatoire pour l’échantillonnage, l’équilibrage de charge et d’autres tâches administratives. Lorsque vous définissez la valeur du délai, passez en revue les valeurs effectives et par défaut de l’applet de commande New-ScheduledJobOption et coordonnez le délai avec les paramètres d’option.

Exemple 6 : Créer un déclencheur de travail pour un nouveau travail planifié

The first command uses the **New-JobTrigger** cmdlet to create a job trigger that starts a job every Monday, Wednesday, and Friday at 12:01 AM. The command saves the job trigger in the $T variable.
PS C:\> $T = New-JobTrigger -Weekly -DaysOfWeek 1,3,5 -At 12:01AM


The second command uses the Register-ScheduledJob cmdlet to create a scheduled job that starts a job every Monday, Wednesday, and Friday at 12:01 AM. The value of the *Trigger* parameter is the trigger that is stored in the $T variable.
PS C:\> Register-ScheduledJob -Name Test-HelpFiles -FilePath C:\Scripts\Test-HelpFiles.ps1 -Trigger $T

Ces commandes utilisent un déclencheur de travail pour créer un travail planifié.

Exemple 7 : Ajouter un déclencheur de travail à un travail planifié

PS C:\> Add-JobTrigger -Name SynchronizeApps -Trigger (New-JobTrigger -Daily -At 3:10AM)

Cet exemple montre comment ajouter un déclencheur de travail à un travail planifié existant. Vous pouvez ajouter plusieurs déclencheurs de travail à n’importe quel travail planifié.

La commande utilise l’applet de commande Add-JobTrigger pour ajouter le déclencheur de travail au travail planifié SynchronizeApps. La valeur du paramètre Déclencheur est une commande New-JobTrigger qui exécute le travail tous les jours à 3h10.

Une fois la commande terminée, SynchronizeApps est un travail planifié qui s’exécute aux heures spécifiées par le déclencheur de travail.

Exemple 8 : Créer un déclencheur de travail répétitif

PS C:\> New-JobTrigger -Once -At "09/12/2013 1:00:00" -RepetitionInterval (New-TimeSpan -Hours 1) -RepetitionDuration (New-Timespan -Hours 48)

Cette commande crée un déclencheur de travail qui exécute un travail toutes les 60 minutes pendant 48 heures à compter du 12 septembre 2013 à 13h00.

Exemple 9 : Arrêter un déclencheur de travail répétitif

PS C:\> Get-JobTrigger -Name SecurityCheck | Set-JobTrigger -RepetitionInterval 0:00 -RepetitionDuration 0:00

Cette commande arrête de force le travail SecurityCheck, qui est déclenché pour s’exécuter toutes les 60 minutes jusqu’à l’expiration de son déclencheur de travail.

Pour empêcher la répétition du travail, la commande utilise le Get-JobTrigger pour obtenir le déclencheur de travail du travail SecurityCheck et l’applet de commande Set-JobTrigger pour modifier l’intervalle de répétition et la durée de répétition du déclencheur de travail sur zéro (0).

Exemple 10 : Créer un déclencheur de travail horaire

PS C:\> New-JobTrigger -Once -At "9/21/2012 0am" -RepetitionInterval (New-TimeSpan -Hour 12) -RepetitionDuration ([TimeSpan]::MaxValue)

La commande suivante crée un déclencheur de travail qui exécute un travail planifié une fois toutes les 12 heures pendant une période indéfinie. La planification commence demain (21/09/2012) à minuit (0h00).

Paramètres

-At

Démarre le travail à la date et à l’heure spécifiées. Entrez un objet DateTime, tel que celui retourné par l’applet de commande Get-Date, ou une chaîne pouvant être convertie en date et heure, par exemple « 19 avril 2012 15:00 », « 12/31 » ou « 3am ». Si vous ne spécifiez pas d’élément de la date, par exemple l’année, la date dans le déclencheur a l’élément correspondant de la date actuelle.

Lorsque vous utilisez le paramètre Once, définissez la valeur du paramètre At sur une date et une heure ultérieures. Étant donné que la date par défaut d’un objet DateTime est la date actuelle, si vous spécifiez une heure avant l’heure actuelle sans date explicite, le déclencheur de travail est créé pour une heure dans le passé.

objets DateTime et les chaînes converties en objets DateTime, sont automatiquement ajustées 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 le Panneau de configuration.

Type:DateTime
Position:Named
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-AtLogOn

Démarre le travail planifié lorsque les utilisateurs spécifiés se connectent à l’ordinateur. Pour spécifier un utilisateur, utilisez le paramètre Utilisateur.

Type:SwitchParameter
Position:0
Valeur par défaut:False
Obligatoire:True
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-AtStartup

Démarre le travail planifié au démarrage de Windows.

Type:SwitchParameter
Position:0
Valeur par défaut:False
Obligatoire:True
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Daily

Spécifie une planification quotidienne périodique des travaux. Utilisez les autres paramètres dans le jeu de paramètres Daily pour spécifier les détails de la planification.

Type:SwitchParameter
Position:0
Valeur par défaut:None
Obligatoire:True
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 selon une planification quotidienne. Par exemple, une valeur de 3 démarre le travail planifié les jours 1, 4, 7, et ainsi de suite. La valeur par défaut est 1.

Type:Int32
Position:Named
Valeur par défaut:1
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 sur lesquels une tâche planifiée hebdomadaire s’exécute. Entrez les noms de jour, tels que « Lundi » ou entiers 0-6, où 0 représente dimanche. Ce paramètre est requis dans l’ensemble de paramètres Hebdomadaires.

Les noms de jour sont convertis en valeurs entières dans le déclencheur de travail. Lorsque vous placez des noms de jour entre guillemets dans une commande, placez chaque nom de jour entre guillemets distincts, tels que « Lundi », « Mardi ». Si vous placez plusieurs noms de jour dans une paire de guillemets simples, les valeurs entières correspondantes sont additionnées. Par exemple, « Lundi, Mardi » (1, 2) entraîne la valeur « Mercredi » (3).

Type:DayOfWeek[]
Valeurs acceptées:Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday
Position:Named
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Once

Spécifie une planification répétée non périodique (une seule fois) ou personnalisée. Pour créer une planification répétée, utilisez le paramètre Once avec les paramètres RepeatDuration et RepeatInterval.

Type:SwitchParameter
Position:0
Valeur par défaut:None
Obligatoire:True
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 de délai maximale. La longueur du délai est définie pseudo-aléatoirement pour chaque début et varie d’un délai à l’heure 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 de commande New-TimeSpan, ou entrez une valeur en <heures>:<minutes>:<secondes> format, qui est automatiquement converti en objet TimeSpan .

Type:TimeSpan
Position:Named
Valeur par défaut:00:00:00
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 pour 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 le travail jusqu’à l’expiration de l’heure spécifiée. 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 que l’applet de commande New-TimeSpan renvoie ou une chaîne qui peut être convertie en objet timespan, par exemple « 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, utilisez l’applet de commande Set-JobTrigger pour définir la valeur de répétition sur zéro (0).

Ce paramètre n’est valide que lorsque les paramètres Une fois, At et Parameters RepetitionInterval sont utilisés dans la commande.

Type:TimeSpan
Position:Named
Valeur par défaut:0
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-RepetitionInterval

Répète le travail à l’intervalle de temps spécifié. Par exemple, si la valeur de ce paramètre est de 2 heures, le travail est déclenché toutes les deux heures. La valeur par défaut, 0, ne répète pas le travail.

Entrez un objet timespan, tel que celui que l’applet de commande New-TimeSpan renvoie ou une chaîne qui peut être convertie en objet timespan, par exemple « 1:05:30 ».

Ce paramètre n’est valide que lorsque les paramètres Once, Atet RepetitionDuration sont utilisés dans la commande.

Type:TimeSpan
Position:Named
Valeur par défaut:0
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 AtLogon début d’un travail planifié. Entrez le nom d’un utilisateur au format <UserName> ou <Domain\Username> format ou 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:All users
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Weekly

Spécifie une planification périodique des travaux hebdomadaires. Utilisez les autres paramètres de l’ensemble de paramètres Hebdomadaires pour spécifier les détails de la planification.

Type:SwitchParameter
Position:0
Valeur par défaut:None
Obligatoire:True
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 selon une planification de travail hebdomadaire. Par exemple, la valeur 3 démarre le travail planifié sur les semaines 1, 4, 7, et ainsi de suite. La valeur par défaut est 1.

Type:Int32
Position:Named
Valeur par défaut:1
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

Entrées

None

Vous ne pouvez pas diriger l’entrée vers cette applet de commande.

Sorties

ScheduledJobTrigger

Notes

  • Les déclencheurs de travail ne sont pas enregistrés sur le disque. Toutefois, les travaux planifiés sont enregistrés sur le disque et vous pouvez utiliser le Get-JobTrigger pour obtenir le déclencheur de travail de n’importe quel travail planifié.

  • ' New-JobTrigger n’empêche pas de créer un déclencheur de travail qui n’exécutera pas de travail planifié, comme un déclencheur à usage unique pour une date dans le passé.

  • L’applet de commande Register-ScheduledJob accepte un objet ScheduledJobTrigger, tel qu’un retourné par l'New-JobTrigger ou des applets de commande Get-JobTrigger, ou une table de hachage avec des valeurs de déclencheur.

    Pour envoyer une table de hachage, utilisez les clés suivantes.

    @{Frequency="Once" (or Daily, Weekly, AtStartup, AtLogon);At="3am" (ou toute chaîne de temps valide) ; DaysOfWeek="Monday", "Wednesday" (ou toute combinaison de noms de jour) ; Interval=2 (ou tout intervalle de fréquence valide) ; RandomDelay="30minutes" (ou toute chaîne d’intervalle de temps valide) ; User="Domain1\User01 (ou tout utilisateur valide ; utilisé uniquement avec la valeur de fréquence AtLogon) }