Wenn Abfrage mit PS oder Batch
Hallo Liebe Community,
hat einer von euch eine Idee, wie man eine WENN Abfrage in einer PS oder Batch abfrage Scriptet ?
Hintergrund :
Wir haben eine VPN, die Ständig Gepingt wird. Nun soll das Script, wenn der Ziel Host nicht Erreichbar ist ist eine EXE Datei ausführen.
Lg Citytow
hat einer von euch eine Idee, wie man eine WENN Abfrage in einer PS oder Batch abfrage Scriptet ?
Hintergrund :
Wir haben eine VPN, die Ständig Gepingt wird. Nun soll das Script, wenn der Ziel Host nicht Erreichbar ist ist eine EXE Datei ausführen.
Lg Citytow
7 Antworten
- LÖSUNG 127944 schreibt am 17.03.2016 um 16:15:18 Uhr
- LÖSUNG Citytow schreibt am 17.03.2016 um 16:17:38 Uhr
- LÖSUNG 114757 schreibt am 17.03.2016 um 17:35:26 Uhr
- LÖSUNG 127944 schreibt am 18.03.2016 um 09:02:14 Uhr
- LÖSUNG 114757 schreibt am 18.03.2016 um 09:15:12 Uhr
- LÖSUNG 127944 schreibt am 18.03.2016 um 09:26:33 Uhr
- LÖSUNG 114757 schreibt am 18.03.2016 um 09:30:17 Uhr
- LÖSUNG 127944 schreibt am 18.03.2016 um 09:26:33 Uhr
- LÖSUNG 114757 schreibt am 18.03.2016 um 09:15:12 Uhr
- LÖSUNG 127944 schreibt am 18.03.2016 um 09:02:14 Uhr
LÖSUNG 17.03.2016 um 16:15 Uhr
Sowas in der Art?
@echo off
ping -n 1 IP-Adresse
if errorlevel 1 goto FEHLER
if errorlevel 0 goto geht
:FEHLER
*.exe -Parameter
:geht
LÖSUNG 17.03.2016 um 16:17 Uhr
Super :D Werde ich gleich mal Ausprobieren
Danke Edzard
Danke Edzard
LÖSUNG 17.03.2016, aktualisiert 18.03.2016
Moin zusammen.
Ping gibt keinen auswertbaren Errorlevel zurück!
Machst du mit Powershell oder Batch wie ich hier schon sehr oft beschrieben habe:
https://www.administrator.de/forum/netzwerkstatus-275973.html#comment-10 ...
Batch
oder auch mit Powershell
Gruß jodel32
Zitat von @127944:
Sowas in der Art?
Achtung: Das funktioniert definitiv nicht!Sowas in der Art?
@echo off
> ping -n 1 IP-Adresse
> if errorlevel 1 goto FEHLER
> if errorlevel 0 goto geht
>
Ping gibt keinen auswertbaren Errorlevel zurück!
Machst du mit Powershell oder Batch wie ich hier schon sehr oft beschrieben habe:
https://www.administrator.de/forum/netzwerkstatus-275973.html#comment-10 ...
Batch
wmic PATH Win32_PingStatus where Address='8.8.8.8' get StatusCode /format:list |find "StatusCode=0" >nul && echo Internet OK || echo Internet nicht OK
if (!(Test-Connection "8.8.8.8" -Count 1 -Quiet)){
write-host "Internet nicht verbunden!"
# hier Programm starten
} else {
write-host "Internet ist erreichbar"
}
LÖSUNG 18.03.2016 um 09:02 Uhr
Zitat von @114757:
Ping gibt keinen auswertbaren Errorlevel zurück!
Ping gibt keinen auswertbaren Errorlevel zurück!
Doch. Bei einem Fehler ist der 1 - anderfalls kleiner 0. Letzteres habe ich tatsächlich in meinem Codebeispiel unterschlagen. Würde in seinem Fall trotzdem funktionieren.
LÖSUNG 18.03.2016, aktualisiert um 09:21 Uhr
Zitat von @127944:
Doch. Bei einem Fehler ist der 1 - anderfalls kleiner 0. Letzteres habe ich tatsächlich in meinem Codebeispiel unterschlagen. Würde in seinem Fall trotzdem funktionieren.
Und nochmal NEIN, das Auswerten des Errorlevels geht bei Ping nicht !!!! Denn es liefert keinen zuverlässigen mit dem Verbindungszustand übereinstimmenden Errorlevel zurück. Glaub es mir, my friend Zitat von @114757:
Ping gibt keinen auswertbaren Errorlevel zurück!
Ping gibt keinen auswertbaren Errorlevel zurück!
Doch. Bei einem Fehler ist der 1 - anderfalls kleiner 0. Letzteres habe ich tatsächlich in meinem Codebeispiel unterschlagen. Würde in seinem Fall trotzdem funktionieren.
Guckst du hier (Host nicht erreichbar aber Errorlevel trotzdem 0 !!):
C:\Windows\system32>ping 192.168.1.2
Ping wird ausgeführt für 192.168.1.2 mit 32 Bytes Daten:
Antwort von 192.168.1.10: Zielhost nicht erreichbar.
Antwort von 192.168.1.10: Zielhost nicht erreichbar.
Antwort von 192.168.1.10: Zielhost nicht erreichbar.
Antwort von 192.168.1.10: Zielhost nicht erreichbar.
Ping-Statistik für 192.168.1.2:
Pakete: Gesendet = 4, Empfangen = 4, Verloren = 0
(0% Verlust),
C:\Windows\system32>echo %errorlevel%
0
LÖSUNG 18.03.2016, aktualisiert um 09:26 Uhr
Shit - habe soeben exakt den selben Test gemacht. du hast Recht - und ich wieder was - trotz >15 Jahren Erfahrung - dazu gelernt 
LÖSUNG 18.03.2016, aktualisiert um 09:31 Uhr
Zitat von @127944:
Shit - habe soeben exakt den selben Test gemacht. du hast Recht - und ich wieder was - trotz >15 Jahren Erfahrung - dazu gelernt
Schön, wieder ein paar Leben gerettet Shit - habe soeben exakt den selben Test gemacht. du hast Recht - und ich wieder was - trotz >15 Jahren Erfahrung - dazu gelernt