Batch-Skripting - Erreichbarkeit von IP-Adressen (ping)

eccos01
Goto Top
Hallo,

ich habe ein Problem...
ich will die Erreichbarkeit einer Adresse (Ip-Adresse oder Name - LAN und WAN) in einem Batch-Skript überprüfen und abhängig vom Ergebnis etwas tun...

Eigentlich wollte ich mit PING und ERRORLEVEL arbeiten, aber bei folgendem Beispiel bekomme ich unterschiedliche Ergebnisse...

Skript:

Und mal bekomme ich OK und mal bekomme ich NOT OK!

Dies ist abhängig vom Output des ping...
- antwortet ping folgendermaßen erhalte ich OK:

Ping wird ausgeführt für 192.169.100.139 mit 1000 Bytes Daten:
Zeitüberschreitung der Anforderung.
Ping-Statistik für 172.16.100.139:
Pakete: Gesendet = 1, Empfangen = 0, Verloren = 1 (100% Verlust),

- antwortet ping aber so... erhalte ich OK:
Ping wird ausgeführt für 192.169.100.139 mit 1000 Bytes Daten:
Antwort von 62.24.12.197: Zielhost nicht erreichbar.
Ping-Statistik für 172.16.100.139:
Pakete: Gesendet = 1, Empfangen = 1, Verloren = 0 (0% Verlust),
Ca. Zeitangaben in Millisek.:
Minimum = 0ms, Maximum = 0ms, Mittelwert = 0ms

Weiß jemand wieso ping mal so und mal so antwortet und dementsprechend den ERRORLEVEL unterschiedlich besetzt?
Wie kann ich denn die Erreichbarkeit wirklich 100 % korrekt auswerten?

Content-Key: 165721

Url: https://administrator.de/contentid/165721

Ausgedruckt am: 19.08.2022 um 02:08 Uhr

Mitglied: TsukiSan
TsukiSan 05.05.2011 um 15:44:49 Uhr
Goto Top
hallo eccos01,

nur mal was zum Spielen:

Falls es aber bei einer vermeintlich permanenten Verbindung ständig zu Ungereimtheiten kommt - also mal da und mal nicht - dann liegt es mit Sicherheit nicht an der Batch face-wink

Gruss
Tsuki
Mitglied: micneu
micneu 05.05.2011 um 16:10:30 Uhr
Goto Top
hier habe ich in powershell geschrieben

gruß michael
Mitglied: eccos01
eccos01 05.05.2011 um 17:34:22 Uhr
Goto Top
Um es klar zu stellen... die obige IP-Adresse ist nur ein Beispiel für eine nicht erreichbare Adresse... in diesem Beispiel ist sie in einem anderen Subnetz... und sie es existiert auch im gesamten LAN nicht.

Das heißt, daß sie zu keinem Zeitpunkt erreichbar wäre. Dennoch kommen zwei verschiedene Ergebnisse und sobald die Antwort "Antwort von" enthält, ist der ERRORLEVEL = 0.

Ach ja... und es sollte ein reines Batch-Skipt sein... und universell einsetzbar (das heißt unabhängig von der Windows Version (XP, Vista, 7, 2003, 2008) und von der Sprache (deutsch, englisch, frz)).
Mitglied: eccos01
eccos01 05.05.2011 um 17:36:22 Uhr
Goto Top
hallo Michael,

erst einmal Danke für das Skript.

Allerdings benötige ich nur eine Aussage, ob diese Adresse zum aktuellen zeitpunkt erreichbar und ggf. der Name auflösbar ist.

Nur sollte das Ergebnis verlässlich sein!
Mitglied: Biber
Biber 05.05.2011 um 19:45:21 Uhr
Goto Top
Moin eccos01,

Zitat von @eccos01:
Ach ja... und es sollte ein reines Batch-Skipt sein... und universell einsetzbar (das heißt unabhängig von der Windows
Version (XP, Vista, 7, 2003, 2008) und von der Sprache (deutsch, englisch, frz)).

Dann so [als Demo amCMD-Prompt]
Die xx.yyy.112.zzz war natürlich eine echte IP, ist nur anonymisiert.

"TTL" sollte es in jeder noch so internationalen Ping-Ausgabe geben, ausgenommen da wo T-Mo wohnt.

Grüße
Biber
Mitglied: traller
traller 21.02.2012 um 18:59:24 Uhr
Goto Top
Hallo,
ich wollte das noch mal aus der Versenkung holen.
Wenn ich nun folgendes habe:

das soll für windows 7 sein.
irgendwie kommt die Batch bei mir in eine Endlosschleife und nix richtiges gibt der dann aus. was mache ich falsch?
Mitglied: Biber
Biber 21.02.2012 um 19:04:11 Uhr
Goto Top
Moin trailer,

benenne die Batchdatei um von "ping.bat" oder "ping.cmd" in "ichbineinsupercoder.cmd".

Dann funktioniert es.

Grüße
Biber
Mitglied: traller
traller 21.02.2012 um 19:24:21 Uhr
Goto Top
Zitat von @Biber:
Moin trailer,

benenne die Batchdatei um von "ping.bat" oder "ping.cmd" in "ichbineinsupercoder.cmd".

Dann funktioniert es.

Grüße
Biber

Hallo,
leider geht es dadurch immer noch nicht. Datei ist hier: http://www.dateiupload.com/files/2V4vyu4uCo.cmd ist da irgendwo ein Tippfehler drin?

hoppla, hatte deinen satz falsch gelesen, is ok geht nun.
Mitglied: Leonie04
Leonie04 06.01.2016 um 14:26:27 Uhr
Goto Top
Hallo,
was mir fehlt ist die Möglichkeit, dass nur die Ping Aussetzer protokolliert werden. Denn so ist das Ergebnis doch immer sehr unübersichtlich und wenn nur die Problemfälle protokolliert werden, dann wäre es doch besser.

Ein Beispiel liefert Michael mit seinem Ping Test.bat. (http://www.windows-faq.de/2015/10/21/netzwerkprobleme-feststellen-nur-p ..)

Vielleicht könnte mal die verschiedenen Möglchkeiten kombinieren?

VG
Leonie