Usuário com melhor resposta
Verificar Processo Windows e Executar Comando

Pergunta
-
Senhores(as), Boa Tarde.
Estou precisando receber alertas quando um processo do windows for finalizado.
Pensei em utilizar o BLAT para enviar o e-mail, porem eu não tenho muito conhecimento de Batch/PowerShell.
Eu precisava que o meu Servidor X verificasse no Servidor Y se o processo "AAAA" está ativo, caso não ele iria executar as seguintes linhas:
cd C:\Users\msanches\Desktop\blat307\full blat -to to-email@microsoft.com -server smtp.microsoft.com -f from-email@microsoft.com -subject "Assunto" -body "Processo parou"
Agradeço desde já.
Caso a resposta tenha lhe atendido, favor marcar como resposta. Assim os próximos que estiverem com a duvida será facilmente sanada e se possível, marcar como util, caso aplicável. Matheus Sanches
Respostas
-
Matheus,
Pode tentar com .BAT e usando o BLAT
@ECHO OFF SET DIR_BLAT=C:\Users\msanches\Desktop\blat307\full SET PROCESSO=SPOOLSV.EXE :LOOP TASKLIST | FINDSTR /I "%PROCESSO%" IF %ERRORLEVEL% NEQ 0 ( ECHO PROCESSO NAO ENCONTRADO ECHO ENVIANDO E-MAIL %DIR_BLAT%\blat -to to-email@microsoft.com -server smtp.microsoft.com -f from-email@microsoft.com -subject "Assunto" -body "Processo parou" ) PING 127.0.0.1 -n 6 >NUL GOTO :LOOP
Configure as duas variaveis com o caminho do blat e o executavel do processo que vc quer monitorar.
O script vai ficar em loop (até mesmo quando enviar o e-mail, se não quiser coloque um goto :EOF depois do envio do e-mail).
Existe uma pausa de mais ou menos 5 segundo entre as verificações feita através da gamb.. artifico técnico do PING -n 6.
Se tiver dificuldade com o loop vc pode apagar o loop e colocar o script em uma tarefa agendado do Windows para rodar da forma que vc achar melhor.
Fábio de Paula Junior
- Marcado como Resposta Matheus Sanches sexta-feira, 14 de setembro de 2012 22:55
-
Fábio,
Muito obrigado !
Serviu perfeitamente para mim. Eu só fiz uma alteração, quando você fala o TASKLIST eu adicionei para ele ir no outro Servidor:
TASKLIST -S \\ServidorRemoto | FINDSTR /I "%PROCESSO%"
Isto vai me ajudar de mais !
Parabéns !
Caso a resposta tenha lhe atendido, favor marcar como resposta. Assim os próximos que estiverem com a duvida será facilmente sanada e se possível, marcar como util, caso aplicável. Matheus Sanches
- Marcado como Resposta Matheus Sanches sexta-feira, 14 de setembro de 2012 22:55
Todas as Respostas
-
Matheus,
Pode tentar com .BAT e usando o BLAT
@ECHO OFF SET DIR_BLAT=C:\Users\msanches\Desktop\blat307\full SET PROCESSO=SPOOLSV.EXE :LOOP TASKLIST | FINDSTR /I "%PROCESSO%" IF %ERRORLEVEL% NEQ 0 ( ECHO PROCESSO NAO ENCONTRADO ECHO ENVIANDO E-MAIL %DIR_BLAT%\blat -to to-email@microsoft.com -server smtp.microsoft.com -f from-email@microsoft.com -subject "Assunto" -body "Processo parou" ) PING 127.0.0.1 -n 6 >NUL GOTO :LOOP
Configure as duas variaveis com o caminho do blat e o executavel do processo que vc quer monitorar.
O script vai ficar em loop (até mesmo quando enviar o e-mail, se não quiser coloque um goto :EOF depois do envio do e-mail).
Existe uma pausa de mais ou menos 5 segundo entre as verificações feita através da gamb.. artifico técnico do PING -n 6.
Se tiver dificuldade com o loop vc pode apagar o loop e colocar o script em uma tarefa agendado do Windows para rodar da forma que vc achar melhor.
Fábio de Paula Junior
- Marcado como Resposta Matheus Sanches sexta-feira, 14 de setembro de 2012 22:55
-
Fábio,
Muito obrigado !
Serviu perfeitamente para mim. Eu só fiz uma alteração, quando você fala o TASKLIST eu adicionei para ele ir no outro Servidor:
TASKLIST -S \\ServidorRemoto | FINDSTR /I "%PROCESSO%"
Isto vai me ajudar de mais !
Parabéns !
Caso a resposta tenha lhe atendido, favor marcar como resposta. Assim os próximos que estiverem com a duvida será facilmente sanada e se possível, marcar como util, caso aplicável. Matheus Sanches
- Marcado como Resposta Matheus Sanches sexta-feira, 14 de setembro de 2012 22:55