Set-ScheduledJob
Modifie les tâches planifiées.
Syntaxe
Set-ScheduledJob
[-Name <String>]
[-ScriptBlock <ScriptBlock>]
[-Trigger <ScheduledJobTrigger[]>]
[-InitializationScript <ScriptBlock>]
[-RunAs32]
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-ScheduledJobOption <ScheduledJobOptions>]
[-InputObject] <ScheduledJobDefinition>
[-MaxResultCount <Int32>]
[-PassThru]
[-ArgumentList <Object[]>]
[-RunNow]
[-RunEvery <TimeSpan>]
[<CommonParameters>]
Set-ScheduledJob
[-Name <String>]
[-FilePath <String>]
[-Trigger <ScheduledJobTrigger[]>]
[-InitializationScript <ScriptBlock>]
[-RunAs32]
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-ScheduledJobOption <ScheduledJobOptions>]
[-InputObject] <ScheduledJobDefinition>
[-MaxResultCount <Int32>]
[-PassThru]
[-ArgumentList <Object[]>]
[-RunNow]
[-RunEvery <TimeSpan>]
[<CommonParameters>]
Set-ScheduledJob
[-InputObject] <ScheduledJobDefinition>
[-ClearExecutionHistory]
[-PassThru]
[<CommonParameters>]
Description
L’applet Set-ScheduledJob
de commande modifie les propriétés des travaux planifiés, telles que les commandes exécutées par les travaux ou les informations d’identification requises pour exécuter le travail. Vous pouvez également l'utiliser pour effacer l'historique d'exécution de la tâche planifiée.
Pour utiliser cette applet de commande, commencez par utiliser l’applet Get-ScheduledJob
de commande pour obtenir le travail planifié. Ensuite, dirigez le travail planifié vers Set-ScheduledJob
ou enregistrez le travail dans une variable et utilisez le paramètre InputObject pour identifier le travail. Utilisez les paramètres restants pour modifier les propriétés du Set-ScheduledJob
travail ou effacer l’historique d’exécution.
Bien que vous puissiez utiliser Set-ScheduledJob
pour modifier les déclencheurs et les options d’un travail planifié, les Add-JobTrigger
applets de commande et Set-ScheduledJobOption
les Set-JobTrigger
applets de commande offrent des moyens beaucoup plus faciles d’accomplir ces tâches. Pour créer un travail planifié, utilisez l’applet de Register-ScheduledJob
commande.
Paramètre Déclencheur d’ajout d’un ou de plusieurs déclencheurs de Set-ScheduledJob
travail qui démarrent le travail.
Le paramètre Déclencheur est facultatif. Vous pouvez donc ajouter des déclencheurs lorsque vous créez le travail planifié, ajouter des déclencheurs de travail ultérieurement, ajouter le paramètre RunNow pour démarrer le travail immédiatement, utiliser l’applet Start-Job
de commande pour démarrer le travail immédiatement à tout moment ou enregistrer le travail planifié sans détrigueur comme modèle pour d’autres travaux.
Set-ScheduledJob
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 le script exécuté par un travail
Cet exemple montre comment modifier le script qui est exécuté dans une tâche planifiée.
Get-ScheduledJob -Name "Inventory"
Id Name Triggers Command Enabled
-- ---- -------- ------- -------
1 Inventory {1} C:\Scripts\Get-Inventory.ps1 True
Get-ScheduledJob -Name "Inventory" | Set-ScheduledJob -FilePath "C:\Scripts\Get-FullInventory.ps1" -PassThru
Id Name Triggers Command Enabled
-- ---- -------- ------- -------
1 Inventory {1} C:\Scripts\Get-FullInventory.ps1 True
La première commande utilise l’applet Get-ScheduledJob
de commande pour obtenir le travail planifié d’inventaire. La sortie indique que la tâche exécute le script Get-Inventory.ps1.
La deuxième commande utilise l’applet Get-ScheduledJob
de commande pour obtenir le travail planifié d’inventaire. Un opérateur de pipeline (|
) envoie le travail planifié à l’applet de Set-ScheduledJob
commande. L’applet Set-ScheduledJob
de commande utilise le paramètre Script pour spécifier un nouveau script. Get-FullInventory.ps1
La commande utilise le paramètre PassThru pour retourner le travail planifié après la modification.
Cette commande n'est pas obligatoire ; elle est incluse uniquement pour montrer l'effet de la modification du script.
Exemple 2 : Supprimer l’historique d’exécution d’un travail planifié
Cet exemple montre comment supprimer l’historique d’exécution actuel et enregistrer les résultats d’un travail planifié.
Get-ScheduledJob BackupArchive | Set-ScheduledJob -ClearExecutionHistory
La commande utilise l’applet Get-ScheduledJob
de commande pour obtenir le travail planifié BackupArchive. Un opérateur de pipeline (|
) envoie le travail à l’applet de commande pour le Set-ScheduledJob
modifier. L’applet Set-ScheduledJob
de commande utilise le paramètre ClearExecutionHistory pour supprimer l’historique d’exécution et enregistrer les résultats.
Pour plus d’informations sur l’historique d’exécution et les résultats enregistrés des travaux planifiés, consultez about_Scheduled_Jobs.
Exemple 3 : Modifier les travaux planifiés sur un ordinateur distant
Cette commande modifie le script d’initialisation dans tous les travaux planifiés sur les ordinateurs distants.
Invoke-Command -Computer "Server01, Server02" -ScriptBlock {Get-ScheduledJob |
Set-ScheduledJob -InitializationScript \\SrvA\Scripts\SetForRun.ps1}
La commande utilise l’applet Invoke-Command
de commande pour exécuter une commande sur les ordinateurs Server01 et Server02.
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 Set-ScheduledJob
de commande, ce qui modifie le script SetForRun.ps1
d’initialisation en .
Paramètres
-ArgumentList
Spécifie les valeurs des paramètres du script spécifiés par le paramètre FilePath ou pour la commande spécifiée par le paramètre ScriptBlock .
Type: | Object[] |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Authentication
Spécifie le mécanisme permettant d'authentifier les informations d'identification de l'utilisateur. Les valeurs valides pour ce paramètre sont :
Default
Basic
Credssp
Digest
Kerberos
Negotiate
NegotiateWithImplicitCredential
La valeur par défaut est Default
. Pour plus d’informations sur les valeurs de ce paramètre, consultez l’énumération AuthenticationMechanism dans le Kit de développement logiciel (SDK) PowerShell.
Attention
L’authentification CredSSP (Credential Security Support Provider), dans laquelle les informations d’identification de l’utilisateur sont transmises à un ordinateur distant à authentifier, est conçue pour les commandes qui nécessitent une authentification sur plusieurs ressources, telles que l’accès à un partage réseau distant. Ce mécanisme augmente le risque de sécurité lié à l'opération distante. Si l'ordinateur distant n'est pas fiable, les informations d'identification qui lui sont passées peuvent être utilisées pour contrôler la session réseau.
Type: | AuthenticationMechanism |
Valeurs acceptées: | Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-ClearExecutionHistory
Supprime l'historique d'exécution actuel et les résultats enregistrés de la tâche planifiée.
L’historique d’exécution du travail et les résultats du travail sont enregistrés avec le travail planifié dans le $HOME\AppData\Local\Microsoft\Windows\PowerShell\ScheduledJobs
répertoire sur l’ordinateur sur lequel le travail est créé. Pour afficher l’historique d’exécution, utilisez l’applet de Get-Job
commande. Pour obtenir les résultats du travail, utilisez l’applet Receive-Job
de commande.
Ce paramètre n'affecte pas les événements écrits par le Planificateur de tâches dans les journaux des événements Windows et n'empêche pas Windows PowerShell d'enregistrer les résultats de la tâche. Pour gérer le nombre de résultats de travail enregistrés, utilisez le paramètre MaxResultCount .
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 |
-Credential
Spécifie un compte d'utilisateur qui a l'autorisation d'exécuter la tâche planifiée. La valeur par défaut est l’utilisateur actuel.
Tapez un nom d’utilisateur, tel que User01 ou Domain01\User01, ou entrez un objet PSCredential , tel qu’un de l’applet Get-Credential
de commande. Si vous entrez uniquement un nom d'utilisateur, vous êtes invité à entrer un mot de passe.
Type: | PSCredential |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-FilePath
Spécifie un script exécuté par la tâche planifiée. Entrez le chemin d'accès à un fichier .ps1 sur l'ordinateur local. Pour spécifier des valeurs par défaut pour les paramètres de script, utilisez le paramètre ArgumentList . Chaque travail planifié doit avoir une valeur ScriptBlock ou FilePath .
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 |
-InitializationScript
Spécifie le chemin complet d’un script Windows PowerShell (.ps1
). Le script d’initialisation s’exécute dans la session créée pour le travail en arrière-plan avant les commandes spécifiées par le paramètre ScriptBlock ou le script spécifié par le paramètre FilePath . Vous pouvez utiliser le script d'initialisation pour configurer la session, par exemple, pour ajouter des fichiers, des fonctions ou des alias, pour créer des répertoires ou pour vérifier des conditions préalables.
Pour spécifier un script qui exécute les commandes de travail principale, utilisez le paramètre FilePath .
Si le script d’initialisation génère une erreur, y compris une erreur sans fin, l’instance actuelle du travail planifié ne s’exécute pas et son état a échoué.
Type: | ScriptBlock |
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 la tâche planifiée à modifier. Entrez une variable qui contient des objets ScheduledJobDefinition ou tapez une commande ou une expression qui obtient des objets ScheduledJobDefinition , tels qu’une Get-ScheduledJob
commande. Vous pouvez également diriger un objet ScheduledJobDefinition vers Set-ScheduledJob
.
Si vous spécifiez plusieurs travaux planifiés, Set-ScheduledJob
apporte les mêmes modifications à tous les travaux.
Type: | ScheduledJobDefinition |
Position: | 0 |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | False |
-MaxResultCount
Spécifie le nombre d'entrées de résultat de tâche qui sont conservées pour la tâche planifiée. La valeur par défaut est 32.
Windows PowerShell enregistre l'historique d'exécution et les résultats de chaque instance déclenchée de la tâche planifiée sur le disque. La valeur de ce paramètre détermine le nombre de résultats d'instance de tâche qui sont enregistrés pour cette tâche planifiée. Quand le nombre de résultats d'instance de tâche dépasse cette valeur, Windows PowerShell supprime les résultats de l'instance de tâche la plus ancienne pour libérer de l'espace pour les résultats de la dernière instance de tâche.
L’historique d’exécution du travail et les résultats du travail sont enregistrés dans le $HOME\AppData\Local\Microsoft\Windows\PowerShell\ScheduledJobs\<JobName>\Output\<Timestamp>
répertoires sur l’ordinateur sur lequel le travail est créé. Pour afficher l’historique d’exécution, utilisez l’applet de Get-Job
commande. Pour obtenir les résultats du travail, utilisez l’applet Receive-Job
de commande.
Le paramètre MaxResultCount définit la valeur de la propriété ExecutionHistoryLength du travail planifié.
Pour supprimer l’historique d’exécution actuel et les résultats du travail, utilisez le paramètre ClearExecutionHistory .
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 |
-Name
Spécifie un nouveau nom pour la tâche planifiée et les instances de la tâche planifiée. Le nom doit être unique sur l'ordinateur local.
Pour identifier le travail planifié à modifier, utilisez le paramètre InputObject ou dirigez un travail planifié vers Get-ScheduledJob
Set-ScheduledJob
.
Ce paramètre ne modifie pas les noms des instances de tâche sur le disque. Il affecte uniquement les instances de tâche qui sont démarrées à l'issue de cette commande.
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 |
-PassThru
Retourne un objet représentant l’élément que vous utilisez. 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 |
-RunAs32
Exécute la tâche planifiée dans un processus 32 bits.
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 |
-RunEvery
Permet de spécifier la fréquence à laquelle exécuter le travail. Par exemple, utilisez cette option pour exécuter un travail toutes les 15 minutes.
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 |
-RunNow
Démarre immédiatement un travail, dès que l’applet Set-ScheduledJob
de commande est exécutée. Ce paramètre évite d'avoir à déclencher le Planificateur de tâches pour exécuter un script Windows PowerShell immédiatement après l'inscription et n'oblige pas les utilisateurs à créer un déclencheur qui spécifie une date et une heure de début.
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 |
-ScheduledJobOption
Définit les options de la tâche planifiée. Entrez un objet ScheduledJobOptions , tel qu’un objet que vous créez à l’aide de l’applet New-ScheduledJobOption
de commande ou une valeur de table de hachage.
Vous pouvez définir des options pour un travail planifié lorsque vous inscrivez le travail planifié ou utilisez les applets de commande ou Set-ScheduledJob
définissez Set-ScheduledJobOption
ou modifiez les options.
La plupart des options et leurs valeurs par défaut déterminent si et quand une tâche planifiée s'exécute. Veillez à consulter ces options avant de planifier une tâche. Pour obtenir une description des options de travail planifiées, y compris les valeurs par défaut, consultez New-ScheduledJobOption
.
Pour envoyer une table de hachage, utilisez les clés suivantes. Dans la table de hachage suivante, les clés sont affichées avec leurs valeurs par défaut.
@{# Power SettingsStartIfOnBattery=$False;StopIfGoingOnBattery=$True; WakeToRun=$False; # Idle SettingsStartIfNotIdle=$False; IdleDuration="00:10:00"; IdleTimeout="01:00:00"; StopIfGoingOffIdle=$True; RestartOnIdleResume=$False;# Security settingsShowInTaskScheduler=$TrueRunElevated=$False;# MiscRunWithoutNetwork=$False;DoNotAllowDemandStart=$False;MultipleInstancePolicy=IgnoreNew# Can be IgnoreNew, Parallel, Queue, StopExisting}
Type: | ScheduledJobOptions |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-ScriptBlock
Spécifie les commandes exécutées par la tâche planifiée. Placez les commandes dans les accolades ({}
) pour créer un bloc de script. Pour spécifier des valeurs par défaut pour les paramètres de commande, utilisez le paramètre ArgumentList .
Chaque Register-ScheduledJob
commande doit utiliser les paramètres ScriptBlock ou FilePath .
Type: | ScriptBlock |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Trigger
Spécifie les déclencheurs de la tâche planifiée. Entrez un ou plusieurs objets ScheduledJobTrigger , tels que les objets retournés par l’applet New-JobTrigger
de commande, ou une table de hachage des clés et des valeurs du déclencheur de travail.
Un déclencheur de travail démarre automatiquement un travail planifié sur une planification ponctuelle ou périodique ou lorsqu’un événement se produit.
Les déclencheurs de tâche sont facultatifs. Vous pouvez ajouter un déclencheur lorsque vous créez le travail planifié, utilisez le ou Set-ScheduledJob
les Add-JobTrigger
applets de commande pour ajouter des déclencheurs ultérieurement ou utilisez l’applet Start-Job
de commande pour démarrer immédiatement le travail planifié. Vous pouvez également créer et gérer une tâche planifiée qui n'a aucun déclencheur de tâche.
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)
}
Type: | ScheduledJobTrigger[] |
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
Vous pouvez diriger un travail planifié vers cette applet de commande.
Sorties
None
Par défaut, cette applet de commande ne retourne aucune sortie.
Lorsque vous utilisez le paramètre PassThru , cette applet de commande retourne le travail planifié qu’il a modifié.
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