Mesmo que este seja um segmento mais antigo, eu gostaria de adicionar uma solução que eu criei que funciona bem.
Eu queria executar um script ou arquivo em lotes sempre que um desligamento ou reinicialização fosse iniciado, mas não queria usar a função Scripts de desligamento de diretivas de grupo. A razão para isso foi bastante profunda, mas eu basicamente precisava executar um script antes que certos serviços fossem fechados.
Acabei criando uma tarefa agendada da seguinte forma:
- Tipo : no evento (básico)
- Log : sistema
- Fonte : User32
- ID do evento : 1074
Quando um usuário ou comando inicia um desligamento ou reinicia como um usuário conectado ou em nome de um usuário, a ID de evento 1074 será acionada. Ao criar uma tarefa para usar isso para acionar um script, ele iniciará o script e permitirá que ele seja concluído, no entanto, ele só relatará a tarefa como "em execução" ou "acionada" nos logs. Eu não usei isso com um script longo, então pode valer a pena testar mais, mas funciona muito bem para scripts curtos.