Bom, é comum algumas vezes precisarmos monitorar uma conexão de rede, um site, ou um servidor através do PING. Que tal gravarmos os resultados do ping em um arquivo de texto e adicionarmos a data e a hora?
Para tanto, abra um arquivo de texto, copie e cole o script abaixo, salve o aquivo como .vbs
Altere as linhas abaixo a seu gosto, mediante os comentários:
on error resume next
Public Sub Grava(comp)
Const ForAppending = 8
‘Colocar o local onde irá salvar o log
arq_ext = “StatusPing.txt”
Set fso = CreateObject(“Scripting.FileSystemObject”)
Set arq_int = fso.OpenTextFile(arq_ext , ForAppending, true)
arq_int.write (comp & vbcrlf)
arq_int.close
End Sub
Public Sub Ping()
data = now()
‘Colocar o IP que deseja realizar o PING
aMachines = (“200.200.200.200”)
Set objPing = GetObject(“winmgmts:{impersonationLevel=impersonate}”)._
ExecQuery(“select * from Win32_PingStatus where address = ‘”& amachines & “‘”)
For Each objStatus in objPing
If IsNull(objStatus.StatusCode) or objStatus.StatusCode<>0 Then
result = (“Não foi possível efetuar ping – ” & data)
grava(result)
else
result = (“Ping OK – ” & data)
grava(result)
end if
next
End Sub
Do
While Counter < 2
Ping()
Counter = Counter + 1
‘Definir de quanto em quanto tempo será executado, para cinco minutos alterar o valor abaixo para 300000
wscript.sleep (5000)
Wend
Counter = 0
Loop Until Counter = 2
Public Sub Grava(comp)
Const ForAppending = 8
‘Colocar o local onde irá salvar o log
arq_ext = “StatusPing.txt”
Set fso = CreateObject(“Scripting.FileSystemObject”)
Set arq_int = fso.OpenTextFile(arq_ext , ForAppending, true)
arq_int.write (comp & vbcrlf)
arq_int.close
End Sub
Public Sub Ping()
data = now()
‘Colocar o IP que deseja realizar o PING
aMachines = (“200.200.200.200”)
Set objPing = GetObject(“winmgmts:{impersonationLevel=impersonate}”)._
ExecQuery(“select * from Win32_PingStatus where address = ‘”& amachines & “‘”)
For Each objStatus in objPing
If IsNull(objStatus.StatusCode) or objStatus.StatusCode<>0 Then
result = (“Não foi possível efetuar ping – ” & data)
grava(result)
else
result = (“Ping OK – ” & data)
grava(result)
end if
next
End Sub
Do
While Counter < 2
Ping()
Counter = Counter + 1
‘Definir de quanto em quanto tempo será executado, para cinco minutos alterar o valor abaixo para 300000
wscript.sleep (5000)
Wend
Counter = 0
Loop Until Counter = 2
Caso deseje um ping com data e hora em PowerShell, clique aqui
Gostaria de saber mais sobre ping? clique aqui
Precisa fazer um alerta de ping? acredito que este artigo pode lhe ajudar: clique aqui
créditos do script: http://social.technet.microsoft.com/profile/bruno%20m.%20cunha/?ws=usercard-mini
9 Comentários. Deixe novo
bem interessante, mas nem precisa tudo isso, achei a dica do cara:
http://brportable.blogspot.com.br/2012/03/ping-com-data-e-hora.html
interessante, mas achei um negocio mais simples, veja dica do cara
brportable.blogspot.com.br/2012/03/ping-com-data-e-hora.html
Então Luciano, o ping -s é bacana também, mas o que fazer o resultado em numeros gigantes 70742985?
pode ser feito em PowerShell também:
test-connection NOMEPC -count 2 -delay 60 | select @{n=’TimeStamp’;e={Get-Date}},__SERVER, Address, ProtocolAddress, ResponseTime | out-file c:\temp\test-connection.txt -append
Diego, fiz este script, porem não deu certo. Dá um monte de erro. Pode me ajudar a ver o que estou fazendo de errado?
Olá Éder
Cole o erro nos comentários.
abs
[…] VBS – Ping com data e hora […]
ola. Diego, poderia me ajudar com os erros, copiei e colei o texto e na hora de executar da o seguinte erro.
script c:\11\vbs.vbs
linha 6
caract 1
erro caractere invalido
codigo 800A0408
origem Erro de compilacao do microsoft vbscript
[…] Sem duvida o ping é o comando mais usado em troubleshoots de conectividade, contudo, ele poderia ser melhor, trouxesse data e hora. Neste artigo trazemos um exemplo em Power Shell que visa corrigir isto. Se preferir, temos também em vbs […]