New-ScheduledJobOption

Crée un objet qui contient des options avancées pour une tâche planifiée.

Syntax

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

Description

L’applet New-ScheduledJobOption de commande 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 Get-ScheduledJobOption de commande 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.

Lors de la création de tâches planifiées et de la définition des options de tâches planifiées, examinez les valeurs par défaut de toutes les options de tâches planifiées. Les tâches planifiées sont exécutées uniquement quand toutes les conditions définies pour leur exécution sont satisfaites.

New-ScheduledJobOption 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 : 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 tâche planifiée qui nécessite le réseau et exécute la tâche planifiée, même si l'ordinateur n'est pas connecté à l'alimentation secteur.

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

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
Register-ScheduledJob -Name Backup -FilePath D:\Scripts\Backup.ps1 -Trigger $Mondays -ScheduledJobOption $RunAsAdmin
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 $runAsAdmin variable.

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

La troisième commande utilise l’applet Get-ScheduledJobOption de commande 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 $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 New-ScheduledJobOption de commande pour créer un objet ScheduledJobOptions . La commande utilise le paramètre WakeToRun et enregistre l’objet résultant dans la $options variable.

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 transmet ensuite les objets de propriété à l’applet Sort-Object de commande, qui trie les propriétés par ordre alphabétique par nom, puis vers l’applet Format-Table de commande, 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é remplacée $false par $true.

Paramètres

-ContinueIfGoingOnBattery

Ne pas arrêter la tâche planifiée si l'ordinateur passe en mode d'alimentation par batterie (se déconnecte de l'alimentation secteur) pendant l'exécution de la tâche. Par défaut, les tâches planifiées s'arrêtent quand l'ordinateur se déconnecte de l'alimentation secteur.

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DoNotAllowDemandStart

Démarrer la tâche uniquement au moment où elle est déclenchée. Les utilisateurs ne peuvent pas démarrer la tâche manuellement, notamment à l'aide de la fonctionnalité Exécuter du 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 Start-Job de commande pour démarrer le travail.

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-HideInTaskScheduler

Ne pas afficher la tâche dans le Planificateur de tâches. Cette valeur affecte uniquement l'ordinateur sur lequel s'exécute la tâche. 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 $falseplanifiés sur .

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IdleDuration

Spécifie la durée pendant laquelle l'ordinateur doit être inactif avant que la tâche commence. 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 tant que l’heure planifiée suivante n’est pas exécutée, le cas échéant.

Entrez un objet TimeSpan, tel qu’un objet généré par l’applet New-TimeSpan de commande, ou entrez une valeur au <format heures> :<minutes> :<secondes> 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 $true sur et Windows PowerShell ignore les valeurs IdleDuration et IdleTimeout .

Type:TimeSpan
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IdleTimeout

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

Entrez un objet TimeSpan, tel qu’un objet généré par l’applet New-TimeSpan de commande, ou entrez une valeur au <format heures> :<minutes> :<secondes> 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 $true sur et Windows PowerShell ignore les valeurs IdleDuration et IdleTimeout .

Type:TimeSpan
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MultipleInstancePolicy

Détermine comment le système répond à une demande de démarrage d'une instance d'une tâche planifiée alors qu'une autre instance de la tâche est en cours d'exécution. La valeur par défaut est IgnoreNew. Les valeurs valides pour ce paramètre sont :

  • 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 que l’instance actuelle se termine.
  • StopExisting - L’instance actuelle du travail s’arrête et la nouvelle instance démarre.

Pour exécuter la tâche, toutes les conditions de la planification des tâches doivent être remplies. Par exemple, si les conditions définies par les paramètres RequireNetwork, IdleDuration et IdleTimeout ne sont pas satisfaites, l’instance de travail n’est pas démarrée, quelle que soit la valeur de ce paramètre.

Type:TaskMultipleInstancePolicy
Accepted values:None, IgnoreNew, Parallel, Queue, StopExisting
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RequireNetwork

Exécute la tâche planifiée uniquement quand des 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, la tâche ne s'exécute pas avant la prochaine heure de début planifiée, le cas échéant.

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RestartOnIdleResume

Redémarre une tâche planifiée quand 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 $trueplanifiés sur .

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RunElevated

Exécute la tâche planifiée avec les autorisations d'un membre du groupe Administrateurs sur l'ordinateur sur lequel s'exécute la tâche.

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

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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’expiration de 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, la tâche ne s'exécute pas avant la prochaine heure de début planifiée, le cas échéant.

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-StartIfOnBattery

Démarre la tâche planifiée, même si l'ordinateur fonctionne sur batterie à 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 $trueplanifiés sur .

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-StopIfGoingOffIdle

Interrompt une tâche planifiée en cours d'exécution si l'ordinateur devient actif (non inactif) alors que la tâche est en cours d'exécution.

Par défaut, une tâche planifiée qui est suspendue quand l'ordinateur devient actif reprend quand il 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 $trueplanifiés sur .

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WakeToRun

Sort l'ordinateur de son état de veille prolongée ou de veille à l'heure de début planifiée afin qu'il puisse exécuter la tâche. Par défaut, si l'ordinateur est dans un état de veille prolongée ou de veille à l'heure de début planifiée, la tâche ne s'exécute pas.

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 qui New-ScheduledJobOption crée comme valeur du paramètre ScheduledJobOption de l’applet Register-ScheduledJob de commande. 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"}