WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   ip mit batch auslesen und per mail versenden (http://www.wcm.at/forum/showthread.php?t=118137)

catch17 09.12.2003 00:50

ip mit batch auslesen und per mail versenden
 
möchte eine batch datei (win98/w2k/xp) erstellen die prüft ob modem (analog 56k) verbunden ist, ipconfig /all "ausliest" und dann per mail an mich sendet - verwendung zwecks fernwartung bei "dau";) -

da ich mehrere so freunde;) habe möchte ich gerne eine "universelle" lösung - schön in einem ordner - zum "überall" einsetzten


wie kann ich checken ob modem verbunden ist bzw. skript warten lassen bis einwahl abgeschlossen ist

bitte um tips

flinx 09.12.2003 12:19

Zum Mailen von der Kommandozeile ist blat.exe (http://gepasi.dbs.aber.ac.uk/softw/blat.html) ein feines Tool (Du musst allerdings testen, ob es unter W98 läuft). Zum "überall" einsetzen, wirst du allerdings die Daten für ein Mailkonto von dir benötigen.
Zitat:

wie kann ich checken ob modem verbunden ist bzw. skript warten lassen bis einwahl abgeschlossen ist
So lange ping absetzen, bis du eine Antwort bekommst oder das Einwahlscript von der Batch-Datei aufrufen.

renew 09.12.2003 12:38

Ich hab mir sowas ähnliches schon mal mit VBS programmiert. Genau aus dem gleichen Grund (dass ich wenn sich meine IP ändert, per mail über die neue IP informiert werde)

Basiert darauf, dass wenn er nicht verbunden is, eine IP Adresse weniger auslesen kann.
Das ganze basiert darauf, dass eine Mail über Outlook verschickt wird.

Wenn du willst such ich es am Abend raus (wenn ich dran denke ;))

Wenn du VB(S) programmieren kannst, kannst es dir ja mal anschaun und die Änderungen vornehmen die du möchtest.

catch17 09.12.2003 13:27

danke erstmal für tips -
balt hab ich und smtp zugang auch, müßte auch unter win98 funken da ja win32.exe

die lösung mit vbs und outlook möchte ich eher nicht(trotzdem danke für das angebot) da meine freunde outlook nicht als mailclient verwenden...

überlegung: wenn ich ping starte und der rechner ist nicht eingewählt müßte einwahl automatisch beginnen und batch-skript warten bis ping meldung macht - oder? Wie kann ich nun abfragen ob verbindung tatsächlich erfolgreich hergestellt wurde? (da sollte ein true/false rauskommen - soll automatisch laufen ohne das user ping-antwort "interpretiert") hier würd ich dann skript mit z.b.IF weiterarbeiten lassen oder zu einem erneutem ping(einwahl) zurückschicken (und dann halt mal meldung "i-net geht leider net....")

bitte weiter um tips

flinx 09.12.2003 13:50

Zitat:

überlegung: wenn ich ping starte und der rechner ist nicht eingewählt müßte einwahl automatisch beginnen und batch-skript warten bis ping meldung macht - oder?
K.A. ob ein ping eine automatische Einwahl startet, daß müsstest ggf. testen.

Die Verbindung aus dem Script heraus starten, müsste eigentlich funktionieren.
so alà:

Code:

:test
ping -n 1 www.google.at
if not %errorlevel%==0 goto conup
goto condown

:condown
start verbindungsscript...
REM start gibts IIRC im Dos 6.22 nicht...
goto test

:conup
ipconfig /all >mailtext.txt
blat ....


catch17 09.12.2003 14:06

thanx@flinx, das dürfte genau sein was ich gesucht hab:
if not %errorlevel%==0 goto

also das ping einwahl startet vermute ich - wissen tu ich das plink (kommandotool von putty) einwahl startet -

wie/wo kann ich das "einwahlscript" direkt ansprechen/finden ?

flinx 09.12.2003 14:29

Zitat:

if not %errorlevel%==0 goto
Beachte bitte, daß du nur einen Errorlevel erhältst, wenn die Namensauflösung nicht funktioniert. Wenn du die Google-Ip eingibst, aber die Verbindung nicht steht, hast du keinen Errorlevel, da das ping-Kommando ja ausgeführt wird. Andernfalls müsstest du das ping in eine txt-Datei umleiten, danach diese auf "(100%)" durchsuchen.

Zitat:

wie/wo kann ich das "einwahlscript" direkt ansprechen/finden ?
Unter W2k ist es möglich, eine Verknüpfung zur DFÜ-Verbindung zu erstellen und mittels z.b. 'call [lw]:\pfad\zum\link\verbindung.lnk" zu starten. Ob dies unter W98 auch funktioniert, weiss ich leider nicht.

catch17 09.12.2003 15:00

hab ich auch schon überlegt - schien mir aber zuerst zu umständlich

schaut dann in etwa so aus?:

...
ping www.google.at > ping.txt
find 100% ping.txt
if not %errorlevel%==0 goto online
goto offline

:offline
echo keine verbindung - starten sie skript nochmal
exit

:online
ipconfig /all >ip.txt
...

flinx 09.12.2003 15:19

Zitat:

find 100% ping.txt
if not %errorlevel%==0 goto online
find "(100" ping.txt
oder
find "(100%%" ping.txt
wären IMHO besser, ansonsten bekommst auch einen Treffer, wenn in der IP oder der Zeit 100 vorkommt.

catch17 09.12.2003 15:40

jetzt hab ichs gelöst, für alle komplett:

ping www.google.at >ping.txt
find "0%" ping.txt
if not %errorlevel%==0 goto offline
goto online

:online
ipconfig /all >ip.txt

Blat -install smtp.host.com userxy
Blat ip.txt -subject "ip_Mailer-test" -to mich@mydomain.com
pause
exit

:offline
echo fehler - keine modemverbindung
pause
exit

- mußt nach 0% suchen da verlust angezeigt wird (zumindest bei mir jetzt)
des ganze wird natürlich noch "schön" ausgeschmückt und "dau-friendly" gestaltet
eventuell auch noch 2. adresse pingen - sollte die erste nicht gerade nicht funken, und vor fehlermeldung zweiten versuch starten,wenn verbunden: vnc-server starten(soll nicht als service laufen-bringt bei modemverbindung ja nichts is nur security-loch),...

danke nochmals für die hilfe
lg,


Alle Zeitangaben in WEZ +2. Es ist jetzt 04:28 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag