schrippe77
Goto Top

Script zur automatischen IP-Adress Erneuerung wenn Gateway nicht erreichbar gesucht

script welches ipconfig /release /renew ausführt wenn Gateway nicht erreichbar

hallo,

habe eine WinXP VM unter VMWare 7 auf einem WinXP Host laufen.

Diese VM soll nur per Wlan kommunizieren. Jetzt kommt es sehr häufig vor, das die VM das Netzwerk verliert. Es wird zwar verbunden


kann da bitte jemand ein kleines script bauen a la

wenn ping auf ip A oder B nicht geht, dann starte renewal script.

ich bin darin extrem schlecht.

danke!!!!

Content-Key: 141308

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

Printed on: April 18, 2024 at 07:04 o'clock

Mitglied: 60730
60730 Apr 23, 2010 at 09:07:59 (UTC)
Goto Top
Servus,

solche scripte gibt es hier doch wie Sand am Meer.

echo erstmal das Gateway herausfinden.
echo das findet man bei einem deutschen XP u.a so ab der 11. Stelle, wenn man Ipconfig -all und dann nach gateway sucht heraus.
echo "lebt" das Gateway - wobei der schnippsel nur auf einem System mit einem Nic  und dementsprechend einem GW geschrieben wurde  
pause

und das ganze sieht dann so aus:

for /F "tokens=11,* " %%a in ('"ipconfig -all |find "gateway""') do (  
ping %%b |find "TTL" && echo gateway erreichbar || echo gateway nicht erreichbar"  
)
pause

Ansatt den echos kannst du ja gerne irgendwas starten und das Pause am ende dient auch nur dem Seheffekt, falls die Batch direkt - nicht in einer geöffneten Dosbox gestartet wurde.

Gruß
Member: schrippe77
schrippe77 Apr 23, 2010 at 10:48:37 (UTC)
Goto Top
Danke!

Ich möchte das Gateway aber selbst setzen. Je nach Netz in dem ich gerade bin. Also kommen da nur 3 gateways in Frage.

Das mit dem


klappt so nicht.
Mitglied: 60730
60730 Apr 23, 2010 at 11:20:20 (UTC)
Goto Top
Servus,

du willst das Gateway selbst setzen?
Naja - egal - wer das Gateway gesetzt hat - es taucht in IPconfig - all als Standardgateway auf.

Und weil es ja eben schon xxx Scripte gibt, die statisch eine oder eine Liste von mehreren IPs anpingen - hab ich das beispiel so geschrieben, dass es sich das gateway selber sucht.

ich bin darin extrem schlecht.

Ja und daher auch etwas mehr Text meinerseits und eigentlich für meine Begriffe auch aussagekräftig genug um und beschrieben.

Das mit dem
klappt so nicht.

Was genau führt er denn bei dir aus - denn die Pause dient jja auch dazu das er aus dem Paramter %%b die Ip des Gateways nimmt.
C:\script\net>for /F "tokens=11,* " %a in ('"ipconfig -all |find "gateway""') do
 (ping %b   | find "TTL"   && echo gateway erreichbar   || echo gateway nicht er
reichbar" )

   | find "TTL"   && echo gateway erreichbar   || echo gateway nicht erreichbar"
 )
Antwort von 192.168.129.2: Bytes=32 Zeit<1ms TTL=64
Antwort von 192.168.129.2: Bytes=32 Zeit<1ms TTL=64
Antwort von 192.168.129.2: Bytes=32 Zeit<1ms TTL=64
Antwort von 192.168.129.2: Bytes=32 Zeit<1ms TTL=64
gateway erreichbar

C:\script\net>pause
Drücken Sie eine beliebige Taste . . .


rem mal ein Beispiel:
dieser Test geht immer in die Hose
ping www.abbichhabdochgarkeinedomain.de && echo ui hat sich doch jemand die Domainbesorgt ||echo Domain nicht registriert
echo das ist das gleiche, wie:
ping www.abbichhabdochgarkeinedomain.de
if not "%errorlevel%"=="0" echo Domain nicht registriert oder DNS defekt.  

Echo Man kann auch - wobei ich das aber eher nicht so machen würde - es so schreiben.
ping 123.123.123.123
if not "%errorlevel%"=="0" echo Fehler  
Member: schmitzi
schmitzi Apr 23, 2010 at 14:26:31 (UTC)
Goto Top
ping 192.168.1.1
echo %errorlevel%

(wenn Ping da dann Errorlevel=0, wenn nicht, dann 1)

Gruss
RS