Eu estava tendo o problema semelhante. (Minha tarefa foi configurada para ser executada às 5:30 PM e depois esperar por 15 minutos de inatividade antes de suspender.) No meu caso, funcionaria bem, desde que o computador estivesse funcionando às 17:30 a cada dia. Se ele perdesse a tarefa devido a ser suspenso, ela executaria a tarefa no reinício (e, sim, eu também desmarcara "Executar tarefa assim que possível após a falta de um início programado"). Ele suspenderia o computador depois de ser retomado e com 15 minutos de inatividade.
Então, aqui está minha solução:
- Edite o acionador da sua tarefa. Marque "Delay task for up to:" e selecione "1 minute"
-
Crie um arquivo em lote chamado "kill.bat"
@echo off
timeout 10
schtasks /end /tn TaskName # (Replace TaskName with the name of your task.)
Você pode ter que mexer no número de tempo limite. O que você está procurando é por algum tempo (em segundos) que caia entre a) o tempo necessário para o relógio do sistema operacional sincronizar após o reinício, eb) a quantidade de tempo que você atrasou a execução da sua tarefa. A definição deste número pode ser difícil, dado que o tempo de atraso é um valor máximo e não um valor específico . Tente definir esse tempo limite o mais próximo possível do tempo necessário para o relógio do sistema operacional sincronizar.
-
Crie uma segunda tarefa - essa tarefa executará o arquivo em lote que você acabou de criar no reinício do sistema.
Trigger:
Begin the task: "On an event"
Log: System
Source: Power-Troubleshooter
Event ID: 1
Action:
Select the batch file you created in step 2.
Quando configurada corretamente, essa nova tarefa deve ser executada no currículo e eliminar a tarefa original durante o atraso de 1 minuto que você adicionou à sua configuração.