Eu tentaria assim:
- Adicione um acionador: Certifique-sededefiniradataatuale00:00:00comoahoradeinício
- Certifique-sedequeatarefasejaexecutadaomaisrápidopossívelseapartidativersidoperdida:
Parece que estou ficando um pouco confuso com as configurações do acionador Task Scheduler
. (Estou no Windows Server 2008 Web)
Eu quero criar uma tarefa que será executada a cada 5 minutos, esteja um usuário logado ou não, e isso retornará ao cronograma quando o computador for reinicializado.
E assim, configurei tudo como necessário, mas observe que há duas opções para o meu acionador:
At Startup
(e use Advanced Settings
para repetir a cada cinco minutos indefinidamente) At task creation/modification
(e use Advanced Settings
para repetir a cada cinco minutos indefinidamente) Se eu escolher (1), não será executado imediatamente. Vou ter que reiniciar, o que não quero fazer.
Se eu escolher (2), ele será executado imediatamente, mas não após a próxima reinicialização.
Se eu criar gatilhos para os dois (1) e (2), pode funcionar, mas quando eu modificar a tarefa no futuro, haverá duas instâncias sendo executadas quando ambos os gatilhos forem disparados? Ou será que vai substituir os intervalos de 5 minutos que começaram desde a inicialização? Eu não quero que aconteça.
Alguma idéia?
Veja como criar essa tarefa agendada usando o 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