none
SCRIPT para ver se um ip está pingando e enviar um e-mail se não pingar RRS feed

  • Pergunta

  • Bom dia,
    Gostaria de ajuda para criação de um script que possa verificar se um determinado ip está pingando e caso não pingue, envie um e-mail de aviso para o administrador religar a maquina. O objetivo é deixar em um servidor fazendo este teste a cada 5 minutos.

    Agradeço desde já.

    Rodrigo

    sexta-feira, 8 de maio de 2009 12:02

Respostas

  • Olá,

    Faça o seguinte, onde está:
    Set colPings = objWMIService.ExecQuery ("Select * From Win32_PingStatus where Address = '192.168.0.153'")
    Do

    Coloque:
    Do
       Set colPings = objWMIService.ExecQuery ("Select * From Win32_PingStatus where Address = '192.168.0.153'")


    Coloque o Set ColPings, dentro do Do.

    Faça os testes e nos retorne.

    Até mais,

    Jesiel

    Obs.: Se útil, classifique
    • Marcado como Resposta Rodrigo Lodi sexta-feira, 8 de maio de 2009 16:03
    sexta-feira, 8 de maio de 2009 14:35

Todas as Respostas

  • Olá,

    Verifique o script abaixo:


    strComputer = "."
    nCont = 0
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    Set colPings = objWMIService.ExecQuery ("Select * From Win32_PingStatus where Address = '192.168.0.153'")
    Do
       For Each objStatus in colPings
           If IsNull(objStatus.StatusCode) _
              or objStatus.StatusCode<>0 Then
           nCont = nCont + 1
           End If
           if nCont >= 3 Then
               EnviaMail
               nCont = 0
           End if
       Next
     'EXECUTAR A CADA 1 MINUTO
      wscript.sleep (18000)
    Loop


    Sub EnviaMail

    Set objEmail = CreateObject("CDO.Message")
    objEmail.From = "teste@contoso.msft"
    objEmail.To = "jesiel@nwtraders.msft"
    objEmail.Subject = "conexão com Problema"
    objEmail.Textbody = "Rede Não está pingando. Horário =  "& Time &" e Data = "& date &""
    objEmail.Configuration.Fields.Item _
     ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
    objEmail.Configuration.Fields.Item _
     ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "10.0.0.1"
    objEmail.Configuration.Fields.Item _
     ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
    objEmail.Configuration.Fields.Update
    objEmail.Send


    End sub


    Faça os testes e nos retorne.

    Até mais,

    Jesiel

    Obs.: Se útil, classifique
    sexta-feira, 8 de maio de 2009 13:10
  • Bom dia Jesiel,
    Funcionou perfeitamente.
    O serviço está rodando nos processos e envia a mensagem por e-mail.

    Muito Obrigado pela sua ajuda.

    Grande abs.

    Rodrigo Lodi

    • Marcado como Resposta Rodrigo Lodi sexta-feira, 8 de maio de 2009 13:41
    • Não Marcado como Resposta Rodrigo Lodi sexta-feira, 8 de maio de 2009 13:56
    sexta-feira, 8 de maio de 2009 13:41
  • Jesiel,
    Preciso de mais uma ajuda...quando desliguei o computador o script enviou a mensagem, testei e funcionou.
    Coloquei o script em execução, e fui fazer o teste religando a maquina e deixando ativa novamente...porém o e-mail não pára de ser enviado.

    A cada minuto recebo a mensagem e o computador está ligado... se apago o processo e executo o script novamente ele pára de enviar a mensagem e volta
    a funcionar normalmente...desligo o computador a mensagem é enviada...religo e a mensagem não pára de ser enviada.

    Agradeço sua ajuda desde já.

    Rodrigo
    sexta-feira, 8 de maio de 2009 14:04
  • Olá,

    Faça o seguinte, onde está:
    Set colPings = objWMIService.ExecQuery ("Select * From Win32_PingStatus where Address = '192.168.0.153'")
    Do

    Coloque:
    Do
       Set colPings = objWMIService.ExecQuery ("Select * From Win32_PingStatus where Address = '192.168.0.153'")


    Coloque o Set ColPings, dentro do Do.

    Faça os testes e nos retorne.

    Até mais,

    Jesiel

    Obs.: Se útil, classifique
    • Marcado como Resposta Rodrigo Lodi sexta-feira, 8 de maio de 2009 16:03
    sexta-feira, 8 de maio de 2009 14:35
  • Jesiel,

    simplesmente PERFEITO.

    Muito obrigado pela ajuda.

    Um abraço

    Rodrigo
    • Marcado como Resposta Rodrigo Lodi sexta-feira, 8 de maio de 2009 16:03
    • Não Marcado como Resposta Rodrigo Lodi sexta-feira, 8 de maio de 2009 16:03
    sexta-feira, 8 de maio de 2009 16:02
  • Olá,

    Bacana Rodrigo... Beleza que funcionou...

    Qualquer coisa poste aí para nós.

    Abraços!!!!
    sexta-feira, 8 de maio de 2009 16:46
  • Ola Jesiel,

    Como seria um script que pingasse uma relação de máquinas passada por um tx e enviasse um e-mail se encontrasse uma máquina que respondesse o ping.

    sexta-feira, 12 de setembro de 2014 10:26