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?

Ross
la source

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
Der Hochstapler
la source
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
mbp
la source
Hullo Je pense que cela ne fonctionne que si la durée est infinie - ([timepan] :: MaxValue)
Michael