Como faço para criar um agendador de tarefas para reiniciar um serviço de software no Windows Server 2008 R2

Como faço para criar um agendador de tarefas para reiniciar um serviço de software no Windows Server 2008 R2

Tenho um serviço de software incômodo que falha a cada poucas semanas. Possui dois componentes. Serviço A e Serviço B. O Serviço B fica em um estado estranho e para de aceitar conexões do Serviço A. A única saída é reiniciar ambos os serviços manualmente ou reinicializar o servidor.

Gostaria de agendar uma reinicialização de serviço para A e B regularmente. Diga a cada 24 horas. Como lidar com isto?

Responder1

Seguindo as sugestões dos comentários, acabei criando um arquivo em lote contendo a sequência de reinicialização adequada com tempos limite. Os tempos limite foram necessários devido às dependências entre os serviços. Agendei-o para ser executado como administrador todas as noites às 4h usando o agendador de tarefas.

net stop "Service B"
net stop "Service A"
timeout /T 10
net start "Service B"
timeout /T 10
net start "Service A"

Não é o ideal, mas servirá neste cenário – uma implantação de desktop remoto com menos de 10 usuários.

Responder2

Em vez de criar um arquivo bat, que pode ficar corrompido ou ausente, você pode criar uma tarefa agendada commúltiploações. Uma ação para interromper o serviço e outra para reiniciá-lo. Ambos executados com o NETcomando. Dê a eles um argumento STOP e START, seguido do nome do serviço.

NET STOP "Service A" 
NET START "Service A"

Aqui estáuma postagem no StackOverflow explicando como.

Responder3

Net Stop "ServiceName" && Net Start "ServiceName"

E você pode encadear && para Stop/Start ServiceB

Net Stop "ServiceA" && Net Start "ServiceA" && Net Stop "ServiceB" && Net Start "ServiceB"

Responder4

Você pode criar um arquivo bat e dentro dele tentar algo assim:

net stop {serviceName} e net start {serviceName}

e use o arquivo bat como um programa para uma tarefa agendada.

informação relacionada