Création d'une tâche planifiée dans Windows qui s'exécutera à intervalles indéfiniment


16

Je semble être légèrement confus par les Task Schedulerparamètres de déclenchement. (Je suis sur Windows Server 2008 Web)

Je veux créer une tâche qui s'exécutera toutes les 5 minutes, qu'un utilisateur soit connecté ou non, et qui revient directement dans son planning au redémarrage de l'ordinateur.

Et donc, j'ai tout configuré comme requis, mais notez qu'il y a deux options pour mon déclencheur:

  1. Commencez la tâche At Startup(puis utilisez Advanced Settingspour répéter toutes les cinq minutes indéfiniment)
  2. Commencez la tâche At task creation/modification(puis utilisez Advanced Settingspour répéter toutes les cinq minutes indéfiniment)

Si je choisis (1), cela ne fonctionnera pas tout de suite. Je vais devoir redémarrer, ce que je ne veux pas faire.

Si je choisis (2), il s'exécutera immédiatement, mais ne le sera pas après le prochain redémarrage.

Si je crée des déclencheurs pour (1) et (2), cela peut fonctionner, mais lorsque je modifierai la tâche à l'avenir, y aura-t-il deux instances qui s'exécuteront lorsque les deux déclencheurs seront déclenchés? Ou remplacera-t-il les intervalles de 5 minutes qui ont commencé depuis le démarrage? Je ne veux pas non plus que cela se produise.

Des idées?

Réponses:


25

Je l'essayerais comme ceci:

  1. Ajouter un déclencheur: entrez la description de l'image ici assurez-vous de définir la date actuelle et 00:00:00 comme heure de début
  2. Assurez-vous que la tâche est exécutée dès que possible si le démarrage a été manqué: entrez la description de l'image ici

5
Merci. "Courir le plus tôt possible si le départ a été manqué" était la clé.
Ross

2

Voici comment créer une telle tâche planifiée à l'aide de PowerShell:

$executable = "foo.exe"
$taskName = "My Task"
$action = New-ScheduledTaskAction -execute $executable
$trigger = New-ScheduledTaskTrigger -Once -At (Get-Date).Date
$settings = New-ScheduledTaskSettingsSet -StartWhenAvailable
Register-ScheduledTask -TaskName $taskName -Trigger $trigger -Action $action -Setting $settings -description $description -User "NT AUTHORITY\SYSTEM" -RunLevel 1
$trigger.RepetitionInterval = (New-TimeSpan -Minutes 5)
$trigger.RepetitionDuration = (New-TimeSpan -Days 1000)
Set-ScheduledTask $taskName -Trigger $trigger

Hullo Je pense que cela ne fonctionne que si la durée est infinie - ([timepan] :: MaxValue)
Michael
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.