Executa uma tarefa agendada depois que um serviço do Windows é iniciado

5

Eu quero executar uma tarefa agendada toda vez que um determinado serviço for iniciado. Procurei uma maneira de definir um acionador em um início de serviço, para que o serviço em questão possa ser iniciado automaticamente na inicialização do sistema ou reiniciado manualmente em tempo de execução.

O sistema no qual ele deve funcionar é um Windows Server 2008 R2.

Descrição detalhada:

  • No servidor A, um serviço do UMS está em execução
  • No servidor B, um serviço de linha de FAX está em execução e se conecta ao serviço UMS no servidor A
  • Se o servidor A ou o serviço UMS nele for reiniciado, o serviço de FAX no servidor b perderá sua conexão e deverá ser reiniciado.

Portanto, desejo agendar um script no servidor A com o início do serviço UMS e reiniciar o serviço FAX Line no servidor B via net stop / start a partir dele.

O ponto em falta é, como eu definiria o gatilho para o agendador de tarefas?

    
por Thomas 07.11.2012 / 14:27

1 resposta

12

Você pode fazer isso usando o Agendador de tarefas com um acionador configurado da seguinte forma:

Comece a tarefa: Em um evento

Configurações: personalizadas

Clique no botão Novo filtro de evento ...

Selecione a guia XML

Marque a caixa de seleção Editar consulta manualmente

Clique no botão Sim

Digite o seguinte na caixa de texto, substituindo o nome do seu serviço:

<QueryList> 
   <Query Id="0"> 
      <Select Path="System"> 
         *[EventData[Data[@Name='param1'] and (Data='YOUR SERVICE NAME')]] 
         and
         *[EventData[Data[@Name='param2'] and (Data='running')]] 
       </Select> 
   </Query> 
</QueryList>

Mais informações sobre a filtragem de eventos XML aqui: Filtragem avançada de XML no Visualizador de Eventos do Windows .

Nota: Ao usar um Windows em inglês, 'Dados' para 'param2' depende do idioma do sistema. Por exemplo. para uma versão alemã do Windows, é 'Ausgeführt' em vez de 'running'.

    
por 07.11.2012 / 15:56