Partager via


New-ScheduledJobOption

Crée un objet qui contient des options avancées pour un travail planifié.

Syntaxe

New-ScheduledJobOption
   [-RunElevated]
   [-HideInTaskScheduler]
   [-RestartOnIdleResume]
   [-MultipleInstancePolicy <TaskMultipleInstancePolicy>]
   [-DoNotAllowDemandStart]
   [-RequireNetwork]
   [-StopIfGoingOffIdle]
   [-WakeToRun]
   [-ContinueIfGoingOnBattery]
   [-StartIfOnBattery]
   [-IdleTimeout <TimeSpan>]
   [-IdleDuration <TimeSpan>]
   [-StartIfIdle]
   [<CommonParameters>]

Description

L’applet de commande New-ScheduledJobOption crée un objet qui contient des options avancées pour un travail planifié.

Vous pouvez utiliser l’objet ScheduledJobOptions qui New-ScheduledJobOption retourne pour définir des options de travail pour un travail planifié nouveau ou existant. Vous pouvez également définir des options de travail à l’aide de l’applet de commande Get-ScheduledJobOption pour obtenir les options de travail d’un travail planifié existant ou à l’aide d’une valeur de table de hachage pour représenter les options de travail.

Sans paramètres, New-ScheduledJobOption génère un objet qui contient les valeurs par défaut pour toutes les options. Étant donné que toutes les propriétés à l’exception de la propriété JobDefinition peuvent être modifiées, vous pouvez utiliser l’objet résultant comme modèle et créer des objets d’option standard pour votre entreprise.

Lorsque vous créez des travaux planifiés et définissez des options de travail planifiées, passez en revue les valeurs par défaut de toutes les options de travail planifiées. Les travaux planifiés s’exécutent uniquement lorsque toutes les conditions définies pour leur exécution sont satisfaites.

New-ScheduledJobOption 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 : Créer un objet d’option de travail planifié avec des valeurs par défaut

Cet exemple crée un objet d’option de travail planifié avec les valeurs par défaut.

New-ScheduledJobOption

Exemple 2 : Créer un objet d’option de travail planifié avec des valeurs personnalisées

Cet exemple crée un objet d’option de travail planifié avec des valeurs personnalisées

New-ScheduledJobOption -RequireNetwork -StartIfOnBattery

StartIfOnBatteries     : True
StopIfGoingOnBatteries : True
WakeToRun              : False
StartIfNotIdle         : True
StopIfGoingOffIdle     : False
RestartOnIdleResume    : False
IdleDuration           : 00:10:00
IdleTimeout            : 01:00:00
ShowInTaskScheduler    : True
RunElevated            : False
RunWithoutNetwork      : False
DoNotAllowDemandStart  : False
MultipleInstancePolicy : Ignore
NewJobDefinition       :

La commande suivante crée un objet de travail planifié qui nécessite le réseau et exécute le travail planifié même si l’ordinateur n’est pas connecté à l’alimentation ac.

La sortie indique que le paramètre RequireNetwork a modifié la valeur de la propriété RunWithoutNetwork en $false et que le paramètre StartIfOnBattery a changé la valeur de la propriété StartIfOnBatteries en $true.

Exemple 3 : Définir des options pour un nouveau travail planifié

Cet exemple montre comment utiliser l’objet ScheduledJobOptions qui New-ScheduledJobOption retourne pour définir les options d’un nouveau travail planifié.

$runAsAdmin = New-ScheduledJobOption -RunElevated
$registerScheduledJobSplat = @{
    Name = 'Backup'
    FilePath = 'D:\Scripts\Backup.ps1'
    Trigger = $Mondays
    ScheduledJobOption = $RunAsAdmin
}
Register-ScheduledJob @registerScheduledJobSplat
Get-ScheduledJobOption -Name Backup

StartIfOnBatteries     : False
StopIfGoingOnBatteries : True
WakeToRun              : False
StartIfNotIdle         : True
StopIfGoingOffIdle     : False
RestartOnIdleResume    : False
IdleDuration           : 00:10:00
IdleTimeout            : 01:00:00
ShowInTaskScheduler    : True
RunElevated            : True
RunWithoutNetwork      : True
DoNotAllowDemandStart  : False
MultipleInstancePolicy : IgnoreNew
JobDefinition          : Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition

La première commande crée un objet ScheduledJobOptions avec le paramètre RunElevated. Il enregistre l’objet dans la variable $runAsAdmin.

La deuxième commande utilise l’applet de commande Register-ScheduledJob pour créer un travail planifié. La valeur du paramètre ScheduledJobOption est l’objet d’option dans la valeur de la variable $runAsAdmin.

La troisième commande utilise l’applet de commande Get-ScheduledJobOption pour obtenir les options de travail du travail planifié de sauvegarde. La sortie de l’applet de commande indique que la propriété runElevated est définie sur $true et que la propriété JobDefinition de l’objet d’option de travail est maintenant remplie avec l’objet de travail planifié pour la tâche planifiée de sauvegarde.

Exemple 4 : Trier les propriétés d’un objet d’option de travail planifié

Cet exemple montre comment trier les propriétés d’un objet ScheduledJobOptions par ordre alphabétique pour faciliter la lecture.

$options = New-ScheduledJobOption -WakeToRun
$options.psobject.Properties |
    Sort-Object -Property Name | 
    Format-Table -Property Name, Value -AutoSize

Name                       Value
----                       -----
DoNotAllowDemandStart      False
IdleDuration            00:10:00
IdleTimeout             01:00:00
JobDefinition
MultipleInstancePolicy IgnoreNew
RestartOnIdleResume        False
RunElevated                False
RunWithoutNetwork           True
ShowInTaskScheduler         True
StartIfNotIdle              True
StartIfOnBatteries         False
StopIfGoingOffIdle         False
StopIfGoingOnBatteries      True
WakeToRun                   True

La première commande utilise l’applet de commande New-ScheduledJobOption pour créer un objet ScheduledJobOptions. La commande utilise le paramètre WakeToRun et enregistre l’objet résultant dans la variable $options.

Pour obtenir les propriétés de $Options en tant qu’objets, la deuxième commande utilise la propriété psobject de tous les objets Windows PowerShell et de sa propriété Properties. La commande canalise ensuite les objets de propriété vers l’applet de commande Sort-Object, qui trie les propriétés par ordre alphabétique par nom, puis vers l’applet de commande Format-Table, qui affiche les noms et les valeurs des propriétés d’une table.

Ce format facilite considérablement la recherche de la propriété WakeToRun de l’objet ScheduledJobOptions dans $options et de vérifier que sa valeur a été modifiée de $false à $true.

Paramètres

-ContinueIfGoingOnBattery

N’arrêtez pas la tâche planifiée si l’ordinateur bascule vers l’alimentation de la batterie (se déconnecte de l’alimentation ac) pendant l’exécution du travail. Par défaut, les travaux planifiés s’arrêtent lorsque l’ordinateur se déconnecte de l’alimentation ac.

Le paramètre ContinueIfGoingOnBattery définit la valeur de la propriété StopIfGoingOnBatteries des travaux planifiés sur $true.

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

-DoNotAllowDemandStart

Démarrez le travail uniquement lorsqu’il est déclenché. Les utilisateurs ne peuvent pas démarrer le travail manuellement, par exemple à l’aide de la fonctionnalité Exécuter dans le Planificateur de tâches.

Ce paramètre affecte uniquement le Planificateur de tâches. Il n’empêche pas les utilisateurs d’utiliser l’applet de commande Start-Job pour démarrer le travail.

Le paramètre DoNotAllowDemandStart définit la valeur de la propriété DoNotAllowDemandStart des travaux planifiés sur $true.

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

-HideInTaskScheduler

N’affichez pas le travail dans le Planificateur de tâches. Cette valeur affecte uniquement l’ordinateur sur lequel le travail s’exécute. Par défaut, les tâches planifiées apparaissent dans le Planificateur de tâches.

Même si une tâche est masquée, les utilisateurs peuvent afficher la tâche en sélectionnant l’option Afficher l’affichage des tâches masquées dans le Planificateur de tâches.

Le paramètre HideInTaskScheduler définit la valeur de la propriété ShowInTaskScheduler des travaux planifiés sur $false.

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

-IdleDuration

Spécifie la durée pendant laquelle l’ordinateur doit être inactif avant le démarrage du travail. La valeur par défaut est de 10 minutes. Si l’ordinateur n’est pas inactif pendant la durée spécifiée avant l’expiration de la valeur de IdleTimeout, le travail planifié ne s’exécute pas jusqu’à la prochaine heure planifiée, le cas échéant.

Entrez un objet TimeSpan, tel qu’un généré par l’applet de commande New-TimeSpan, ou entrez une valeur au format <hours>:<minutes>:<seconds> qui est automatiquement convertie en objet TimeSpan.

Pour activer cette valeur, utilisez le paramètre StartIfIdle. Par défaut, la propriété StartIfNotIdle des travaux planifiés est définie sur $true et Windows PowerShell ignore les valeurs IdleDuration et IdleTimeout.

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

-IdleTimeout

Spécifie la durée pendant laquelle le travail planifié attend que l’ordinateur soit inactif. Si ce délai d’expiration expire avant que l’ordinateur ne reste inactif pendant la période spécifiée par le paramètre IdleDuration, le travail ne s’exécute pas jusqu’à la prochaine heure planifiée, le cas échéant. La valeur par défaut est d’une heure.

Entrez un objet TimeSpan, tel qu’un généré par l’applet de commande New-TimeSpan, ou entrez une valeur au format <hours>:<minutes>:<seconds> qui est automatiquement convertie en objet TimeSpan.

Pour activer cette valeur, utilisez le paramètre StartIfIdle. Par défaut, la propriété StartIfNotIdle des travaux planifiés est définie sur $true et Windows PowerShell ignore les valeurs IdleDuration et IdleTimeout.

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

-MultipleInstancePolicy

Détermine la façon dont le système répond à une demande de démarrage d’une instance d’un travail planifié alors qu’une autre instance du travail est en cours d’exécution. La valeur par défaut est IgnoreNew. Les valeurs acceptables pour ce paramètre sont les suivantes :

  • IgnoreNew : la nouvelle instance de travail est ignorée.
  • Parallel : la nouvelle instance de travail démarre immédiatement.
  • Queue : la nouvelle instance de travail démarre dès la fin de l’instance actuelle.
  • StopExisting : l’instance actuelle du travail s’arrête et la nouvelle instance démarre.

Pour exécuter le travail, toutes les conditions de la planification du travail doivent être remplies. Par exemple, si les conditions définies par l'RequireNetwork, IdleDurationet paramètres IdleTimeout ne sont pas satisfaits, l’instance de travail n’est pas démarrée, quelle que soit la valeur de ce paramètre.

Type:TaskMultipleInstancePolicy
Valeurs acceptées:None, IgnoreNew, Parallel, Queue, StopExisting
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-RequireNetwork

Exécute le travail planifié uniquement lorsque les connexions réseau sont disponibles.

Si vous spécifiez ce paramètre et que le réseau n’est pas disponible à l’heure de début planifiée, le travail ne s’exécute pas jusqu’à l’heure de début planifiée suivante, le cas échéant.

Le paramètre RequireNetwork définit la valeur de la propriété RunWithoutNetwork des travaux planifiés sur $false.

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

-RestartOnIdleResume

Redémarre un travail planifié lorsque l’ordinateur devient inactif. Ce paramètre fonctionne avec le paramètre StopIfGoingOffIdle, qui suspend une tâche planifiée en cours d’exécution si l’ordinateur devient actif (laisse l’état inactif).

Le paramètre RestartOnIdleResume définit la valeur de la propriété RestartOnIdleResume des travaux planifiés sur $true.

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

-RunElevated

Exécute le travail planifié avec les autorisations d’un membre du groupe Administrateurs sur l’ordinateur sur lequel le travail s’exécute.

Pour permettre à un travail planifié de s’exécuter avec des autorisations d’administrateur, utilisez le paramètre Credential de Register-ScheduledJob pour fournir des informations d’identification explicites pour le travail.

Le paramètre RunElevated définit la valeur de la propriété RunElevated des travaux planifiés sur $true.

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

-StartIfIdle

Démarre le travail planifié si l’ordinateur a été inactif pendant l’heure spécifiée par le paramètre IdleDuration avant l’heure spécifiée par le paramètre IdleTimeout.

Par défaut, les paramètres IdleDuration et IdleTimeout sont ignorés et le travail démarre à l’heure de début planifiée même si l’ordinateur est occupé.

Si vous spécifiez ce paramètre et que l’ordinateur est occupé (non inactif) à l’heure de début planifiée, le travail ne s’exécute pas jusqu’à l’heure de début planifiée suivante, le cas échéant.

Le paramètre StartIfIdle définit la valeur de la propriété StartIfNotIdle des travaux planifiés sur $false.

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

-StartIfOnBattery

Démarre la tâche planifiée même si l’ordinateur s’exécute sur des batteries à l’heure de début planifiée. La valeur par défaut est $false.

Le paramètre StartIfOnBattery définit la valeur de la propriété StartIfOnBatteries des travaux planifiés sur $true.

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

-StopIfGoingOffIdle

Suspend une tâche planifiée en cours d’exécution si l’ordinateur devient actif (non inactif) pendant l’exécution du travail.

Par défaut, un travail planifié qui est suspendu lorsque l’ordinateur devient actif reprend lorsque l’ordinateur redevient inactif. Pour modifier ce comportement par défaut, utilisez le paramètre RestartOnIdleResume.

Le paramètre StopIfGoingOffIdle définit la valeur de la propriété StopIfGoingOffIdle des travaux planifiés sur $true.

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

-WakeToRun

Réveille l’ordinateur à partir d’un état de veille prolongée ou de veille à l’heure de début planifiée afin qu’il puisse exécuter le travail. Par défaut, si l’ordinateur est dans un état de veille prolongée ou de veille à l’heure de début planifiée, le travail ne s’exécute pas.

Le paramètre WakeToRun définit la valeur de la propriété WakeToRun des travaux planifiés sur $true.

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

Entrées

None

Vous ne pouvez pas diriger les objets vers cette applet de commande.

Sorties

ScheduledJobOptions

Cette applet de commande retourne un objet ScheduledJobOptions représentant les options créées.

Notes

  • Vous pouvez utiliser l’objet ScheduledJobOptions créé New-ScheduledJobOption comme valeur du paramètre ScheduledJobOption de l’applet de commande Register-ScheduledJob. Toutefois, le paramètre ScheduledJobOption peut également prendre une valeur de table de hachage qui spécifie les propriétés de l’objet ScheduledJobOptions et leurs valeurs, telles que :

    @{ShowInTaskScheduler=$false; RunElevated=$true; IdleDuration="00:05"}