Unterstützung bei Batch Pinglog Entwicklung
ich habe mir ein Pinglog als Batchdatei gebastelt welches auf mehrere Empfänger nacheinander ein Ping macht. Leider habe ich es nicht geschafft mit die TTL-Zeit mit auszulesen und zu speichern. Ebenfalls würde ich gerne eine Max TTL noch einbauen welche z.b. eine TTL über 500ms separat kennzeichnet. Ich würde mich freuen wenn mir jemand helfen würde dies noch einzubauen da meine Batchkenntnisse nicht die besten sind.
NAchfolgend mein Script
Danke im Voraus für Eure Unterstützung.
@echo off
:: Logdatei benennen und Pfad setzen
set logdatei=pinglog.csv
:: Timer in Sekunden eingeben
set timer=10
:: IP Adresse oder Hostnamen angeben
set IP=192.168.178.1
set IP[1]=192.168.178.2
set IP[2]=192.168.178.3
set IP[3]=192.168.178.4
set IP[4]=WIN10DESK
:: Bezeichnungen für die unterschiedlichen IP´s
set bez= Router
set bez[1]= TA1
set bez[2]= TA2
set bez[3]= Rest
set bez[4]= Rest
:: Programm Start
set /A j = 0
echo Ping Dauertest -- Start am %date% um %time%
echo Status; host; Datum; time; TTL; Bezeichnung >> %logdatei%
:: auslesen der Anzahl der Einträge in Array
:my_loop
if defined IP[%j%] (
set /a j = %j% + 1
goto :my_loop
)
set /a j = %j% - 1
set status=0
set status_off=1
::Abarbeiten des Arrays mit Pings
:dauertest
FOR /L %%i IN (0 1 %j%) DO (
call ping %%IP[%%i]%% -n 1 -4 | find "TTL=" >NULL
set status=%errorlevel%
if not %status%==%status_off% (
if %status%==0 (
call echo online; %%IP[%%i]%% ; %date% ; %time% ;%TTL%; %%bez[%%i]%% >> %logdatei%
call echo [ONLiNE] IP/Host:; %%bez[%%i]%%, %%IP[%%i]%% am %date% um %time% TTL= %TTL%
) else (
call echo offline; %%IP[%%i]%% ; %date% ; %time% ; ;%TTL%; %%bez[%%i]%% >> %logdatei%
call echo [OFFLiNE] IP/Host:; %%bez[%%i]%%, %%IP[%%i]%% am %date% um %time% TTL= %TTL%
)
)
)
Echo Pinglog wird wieder ausgeführt in %timer% sekunden
timeout /T %timer% /nobreak
goto :dauertest
NAchfolgend mein Script
Danke im Voraus für Eure Unterstützung.
@echo off
:: Logdatei benennen und Pfad setzen
set logdatei=pinglog.csv
:: Timer in Sekunden eingeben
set timer=10
:: IP Adresse oder Hostnamen angeben
set IP=192.168.178.1
set IP[1]=192.168.178.2
set IP[2]=192.168.178.3
set IP[3]=192.168.178.4
set IP[4]=WIN10DESK
:: Bezeichnungen für die unterschiedlichen IP´s
set bez= Router
set bez[1]= TA1
set bez[2]= TA2
set bez[3]= Rest
set bez[4]= Rest
:: Programm Start
set /A j = 0
echo Ping Dauertest -- Start am %date% um %time%
echo Status; host; Datum; time; TTL; Bezeichnung >> %logdatei%
:: auslesen der Anzahl der Einträge in Array
:my_loop
if defined IP[%j%] (
set /a j = %j% + 1
goto :my_loop
)
set /a j = %j% - 1
set status=0
set status_off=1
::Abarbeiten des Arrays mit Pings
:dauertest
FOR /L %%i IN (0 1 %j%) DO (
call ping %%IP[%%i]%% -n 1 -4 | find "TTL=" >NULL
set status=%errorlevel%
if not %status%==%status_off% (
if %status%==0 (
call echo online; %%IP[%%i]%% ; %date% ; %time% ;%TTL%; %%bez[%%i]%% >> %logdatei%
call echo [ONLiNE] IP/Host:; %%bez[%%i]%%, %%IP[%%i]%% am %date% um %time% TTL= %TTL%
) else (
call echo offline; %%IP[%%i]%% ; %date% ; %time% ; ;%TTL%; %%bez[%%i]%% >> %logdatei%
call echo [OFFLiNE] IP/Host:; %%bez[%%i]%%, %%IP[%%i]%% am %date% um %time% TTL= %TTL%
)
)
)
Echo Pinglog wird wieder ausgeführt in %timer% sekunden
timeout /T %timer% /nobreak
goto :dauertest
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 607257
Url: https://administrator.de/contentid/607257
Ausgedruckt am: 25.11.2024 um 03:11 Uhr
2 Kommentare
Neuester Kommentar
Hallo,
wenn Du prüfen möchtest, ob verschiedene Systeme per ping erreichbar sind (und auch antworten) solltest Du ein Monitoringsystem installieren. Später willst Du dann noch nachschauen, ob die Festplatten schon fast voll sind ...
Eine Variante ist PRTG. Das kostet nichts (bis zu 100 Sensoren - reicht für ca. 10 bis 20 zu überwachende Systeme) und ist schnell einegerichtet.
vG
LS
wenn Du prüfen möchtest, ob verschiedene Systeme per ping erreichbar sind (und auch antworten) solltest Du ein Monitoringsystem installieren. Später willst Du dann noch nachschauen, ob die Festplatten schon fast voll sind ...
Eine Variante ist PRTG. Das kostet nichts (bis zu 100 Sensoren - reicht für ca. 10 bis 20 zu überwachende Systeme) und ist schnell einegerichtet.
vG
LS