Avatar billede tma Juniormester
03. september 2004 - 11:53 Der er 17 kommentarer og
1 løsning

Ping statistik med dato/klokkeslæt

Hej

Man kan pinge kontinuerligt med -t Dette kan hældes i en tekstfil. Jeg har brug for, at der mens der pinges kontinuerligt også angives klokkeslæt (og dato).
Er dette ikke muligt vil jeg vide hvilke andre gratis værktøjer der findes for at undersøge om en maskine mister forbindelse til netværket. Det skal være noget der kører aktivt over flere timer.

Torben
Avatar billede skau Nybegynder
03. september 2004 - 12:00 #1
Hvilken platform er du på (*nix, linux eller Ms)?
Avatar billede bufferzone Praktikant
03. september 2004 - 12:09 #2
Det er muligt med værktøjet NetWox og evt. lidt perl, men det bliver en forholdsvis kompliceret løsning. Det er netwox værktøjerne 49 til 50 du bør kikke på
Avatar billede tma Juniormester
03. september 2004 - 12:29 #3
Der arbejdes på microsoft platform.

Windows 2000 server sp4
Avatar billede killerclown Nybegynder
09. september 2004 - 14:45 #4
Hey tma !
Skal det være et script, der kører på en server eller arbejdsplads ?

/Killer
Avatar billede tma Juniormester
09. september 2004 - 15:05 #5
Det skal være et script der kører på en server i f.eks. et døgn

Torben
Avatar billede killerclown Nybegynder
09. september 2004 - 15:26 #6
ok.
Dette script kan klare opgaven.
Du skal bare huske på, at det åbner en lille dos-boks i et splitsekund, når det pinger :o)

cpuadresse i linie 5 angiver den adresse, der skal pinges

set fso = createobject("scripting.filesystemobject")
set shell = createobject("wscript.shell")
const forappending = 8
file1 = "c:\ping.txt"
cpuadresse = "10.152.10.11"
Set fi = fso.OpenTextFile(file1, ForAppending, true)
for a = 1 to 10
set scping = shell.exec("ping -n 1 " & cpuadresse)
strresult = Lcase(scping.stdout.readall)
if instr(strresult, "reply from") then
strsvar = "maskinen svarede"
else
strsvar = "Der var timeout"
end if
fi.WriteLine (now() & " " & strsvar)
a = a-1
wscript.sleep 2000
next

/Killer
Avatar billede tma Juniormester
09. september 2004 - 15:36 #7
>> killer; jeg får Der var timeout selvom jeg sagtens kan pinge min adr. i en prompt...

Torben
Avatar billede tma Juniormester
09. september 2004 - 15:36 #8
øjeblik...
Avatar billede tma Juniormester
09. september 2004 - 15:47 #9
Jeg testede lige fra min egen maskine, og her skulle jeg naturligvis ændre til 'svar fra', da jeg kører dansk xp...

Virker perfekt på serveren!
Avatar billede killerclown Nybegynder
09. september 2004 - 15:49 #10
Najs ;)
Tak for points
/Killer
Avatar billede tma Juniormester
13. september 2004 - 14:36 #11
Hej Killer

Liiiiige en lille detalje. Er det muligt at få ping tiden med? Hvis en linie f.eks. ser således ud:

svar fra xxx.xxx.xxx.xxx: byte=32 tid<1ms ttl=128

Vil jeg gerne have linien:  tid<1ms ttl=128
med. Jeg har selv forsøgt med mid og instr, men kan ikke skrue det rigtigt sammen.

Kan/vil du give denne feauture?

Torben
Avatar billede killerclown Nybegynder
13. september 2004 - 17:34 #12
Det kan du tro !
Jeg er lige lidt ophængt lige nu, men fikser det lige til dig i aften !

/Killer
Avatar billede killerclown Nybegynder
13. september 2004 - 17:55 #13
Så skulle den være der :))
Du skal nok tilpasse den lidt i linie 12, så den passer til din danske udgave :o)

set fso = createobject("scripting.filesystemobject")
set shell = createobject("wscript.shell")
const forappending = 8
file1 = "c:\ping.txt"
cpuadresse = "10.152.10.11"
Set fi = fso.OpenTextFile(file1, ForAppending, true)
for a = 1 to 10
set scping = shell.exec("ping -n 1 " & cpuadresse)
strresult = Lcase(scping.stdout.readall)
if instr(strresult, "reply from") then
strpil = instr(strresult,"<")-3
strsvar = mid(strresult,strpil,20)
else
strsvar = "Der var timeout"
end if
fi.WriteLine (now() & " " & strsvar)
a = a-1
wscript.sleep 2000
next
Avatar billede tma Juniormester
14. september 2004 - 08:39 #14
Mange tak.

Jeg havde som sagt selv forsøgt med mid og instr, men jeg havde dem indlejret i samme udtryk, måske det var det der gjorde forskellen.

Dejligt at få den skruet helt færdig...

Torben
Avatar billede tma Juniormester
14. september 2004 - 15:48 #15
Lidt ked at at forstyrre yderligere, men når jeg kører den på serveren kører den fint en 10-12 gange hvorefter den kommer med en fejl på mid funktionen. Det er sgu da underligt at funktionen godtages flere gange hvorefter den melder fejl???

Har du nogen forslag? (Udvider gerne spørgsmålet hvis du vil foretrækket det)

Kan problemet evt. omgås ved en On error bypass?

Torben
Avatar billede killerclown Nybegynder
14. september 2004 - 16:00 #16
Hmmm ....
Det KAN være noget med strengen strsvar...
Det kan være det hjælper, at nustille svaret i hver gennemgang.
Se næstsidste linie

set fso = createobject("scripting.filesystemobject")
set shell = createobject("wscript.shell")
const forappending = 8
file1 = "c:\ping.txt"
cpuadresse = "10.152.10.11"
Set fi = fso.OpenTextFile(file1, ForAppending, true)
for a = 1 to 10
set scping = shell.exec("ping -n 1 " & cpuadresse)
strresult = Lcase(scping.stdout.readall)
if instr(strresult, "reply from") then
strpil = instr(strresult,"<")-3
strsvar = mid(strresult,strpil,20)
else
strsvar = "Der var timeout"
end if
fi.WriteLine (now() & " " & strsvar)
a = a-1
wscript.sleep 2000
strsvar = nothing
next

/Killer
Avatar billede truelz Nybegynder
15. september 2004 - 19:21 #17
Hej, er det ikke fordi I leder efter < i instr()? Den kan jo godt melde = istedet, engang i mellem.
Jeg har ikke lige tid til at teste eller skrive en ny kode da jeg har time, men det ser ud som om det kunne være et problem.
Avatar billede killerclown Nybegynder
15. september 2004 - 20:22 #18
Det er sgu' da nok rigtigt :)
Jeg har ændret lidt i det, så den skulle være der :)
Hvis du kører dansk sprog, skal du bare rete "time" til "tid" :o)

set fso = createobject("scripting.filesystemobject")
set shell = createobject("wscript.shell")
const forappending = 8
file1 = "c:\ping.txt"
cpuadresse = "212.54.64.170"
Set fi = fso.OpenTextFile(file1, ForAppending, true)
for a = 1 to 10
set scping = shell.exec("ping -n 1 " & cpuadresse)
strresult = Lcase(scping.stdout.readall)
if instr(strresult, "reply from") then
strtime = instr(strresult,"time")
strsvar = mid(strresult,strtime,20)
else
strsvar = "Der var timeout"
end if
fi.WriteLine (now() & " " & strsvar)
a = a-1
wscript.sleep 2000
next

/Killer
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester