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
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 commandeRegister-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"}
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