Descobriu-se que o Avast detectava os scripts como vírus e os excluía. Tinha que ser configurado para permitir que os arquivos .CMD
fossem executados pelo Agendador de Tarefas.
Eu tenho um problema estranho que começou a acontecer com o Agendador de Tarefas no Windows Server 2012 R2.
Um monte de tarefas agendadas tem o mesmo problema. Eu verifiquei há algumas semanas e estava tudo bem, mas agora começou a acontecer em várias caixas.
Quando a tarefa agendada é executada, ela tem uma ação: iniciar um programa. Este programa é um arquivo de lote (com uma extensão .CMD
, mas eu tentei com uma .BAT
extension; mesmo problema). A tarefa é executada corretamente, mas quando a tarefa é executada, o arquivo é normalmente (como 90% do tempo) excluído! Bem, na verdade, é mais como "shadow-deleted" porque depois, um arquivo com o mesmo nome não pode ser gravado no diretório em que o arquivo .BAT
/ .CMD
estava ("acesso à pasta de destino negado" mesmo com permissões de Admin) até que a máquina seja reinicializada. Parece que o arquivo ainda está lá em algum cache de memória, mas não aparece no Windows Explorer e não pode ser encontrado na linha de comando.
Isso acontece se a tarefa é acionada automaticamente por meio de um cronograma ou acionada manualmente.
Eu posso entender a possibilidade de a tarefa não ser executada por causa de um erro de permissão (embora estivesse funcionando bem há algumas semanas e a tarefa seja executada com sucesso uma vez antes de o arquivo ter sido shadow-deleted!), mas por que diabos isso apagaria o arquivo em lote?
Encontrei outro caso de alguém com um problema semelhante, mas eles o corrigiram recriando as tarefas: link
Eu tentei isso, mas ainda assim tive o mesmo problema.