ERLEDIGT
NEIN
NEIN
ANTWORTEN
2
2
ZUGRIFFE
1836
1836
EMPFEHLEN
-
30.09.09 00:02 #1
- Registriert seit
- Sep 2007
- Ort
- Salzgitter, Germany, Germany
- Beiträge
- 190
Guten Abend zusammen,
in meinem Ausbildungsbetrieb gibt es das Problem, dass das Internet welches (leider) eine andere IT-Firma betreut kaum verfügbar ist. Da eine kaufmännische Abteilung nun Sachen über das Internet versteigern sollen, brauchen sie einen funktionierenden Internet-Zugang. Jener wird über den Internen Server aufgebaut. Wenn er (bzw. seine Firewall) funktioniert, wird man bei'm aufrufen einer Webseite auf die Firewallseite gelenkt und muss dort seinen Benutzernamen und Passwort eingeben und dann kommt man auf die angeforderte Seite. Auch im Fehlerfall funktioniert die anmeldung, aber Webseiten sind nicht erreichbar.
Nun habe ich die Aufgabe bekommen, dass ganze mit Windows eiegnen Mitteln zu dokumentieren. Zu diesem Zweck habe lade ich bei'm Windowsstart eine *.vbs Datei, die wiederum eine *.bat aufruft, in der das eigentliche Script ist. Eine zweite *.vbs Datei habe ich für die Wiederholungszeit genommen. Mit der *.bat Datei führe ich nun drei pings durch:- internen Server
- google.de
- chip.de
Für jeden ping-Befehl habe ich eine Variable mit dem errorlevel bestimmt. Am Ende der *.bat Datei möchte ich dann getreu dem Grundsatz "wenn dann sonst" eine "Statusmeldung" in die fehler.txt oder in die erfolg.txt schreiben. Doch genau dabei gibt es noch Probleme.
Zwar wird eine ping.txt gestellt in die ich mir den ping-Befehl ausgeben lasse, aber die if-Bedingungen klappen danach nicht. Eine fehler.txt wird zwar erstellt, aber keine erfolg.txt. Meine *.bat schaut zurzeit so aus:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
@ECHO OFF cd C:\ cd C:\ueberwachung md C:\ueberwachung\ergebnis\ :ueberwachung REM Zeitverzoegertes wiederholen wscript warten.vbs REM Datum und Zeit in das Format xx.xx.xxxx xx:xx:xx einrichten set datum=%date:~0% set zeit=%time:~0,8% REM PING zu der IP des "BBW Servers" ping -n 1 10.10.10.1 >> C:\ueberwachung\ergebnis\ping.txt REM Errorlevel in eine Variable speichern set BBW=%errorlevel% REM PING zu der IP des "www.google.de" ping -n 1 www.google.de >> C:\ueberwachung\ergebnis\ping.txt REM Errorlevel in eine Variable speichern set GOOGLE=%errorlevel% REM PING zu der IP des "www.chip.de" ping -n 1 www.chip.de >> C:\ueberwachung\ergebnis\ping.txt REM Errorlevel in eine Variable speichern set CHIP=%errorlevel% REM leeren des DNS-Caches um zu gefährleisten, dass es nicht am Client liegt ipconfig /flushdns >> C:\ueberwachung\ergebnis\ping.txt if "%BBW%" == 1 ( echo "%datum% %zeit% BBW-Server erfolgreich" >> C:\ueberwachung\ergebnis\erfolg.txt ) ELSE ( echo "%datum% %zeit% BBW-Server fehlerhaft" >> C:\ueberwachung\ergebnis\fehler.txt ) if "%GOOGLE%" == 1 ( echo "%datum% %zeit% GOOGLE-Server erfolgreich" >> C:\ueberwachung\ergebnis\erfolg.txt ) ELSE ( echo "%datum% %zeit% GOOGLE-Server fehlerhaft" >> C:\ueberwachung\ergebnis\fehler.txt ) if "%CHIP%" == 1 ( echo "%datum% %zeit% CHIP-Server erfolgreich" >> C:\ueberwachung\ergebnis\erfolg.txt ) ELSE ( echo "%datum% %zeit% CHIP-Server fehlerhaft" >> C:\ueberwachung\ergebnis\fehler.txt ) cls goto ueberwachung
Hoffe ihr könnt mir dabei helfen, denn das Script sollte morgen eigentlich starten.
Vielen Dank
Muckel
-
30.09.09 14:49 #2
- Registriert seit
- Jun 2005
- Beiträge
- 8.169
Hi.
Der String "1" ist natürlich nicht gleich 1.
Aber warum in aller Welt machst du das denn nicht gleich in VBScript, das ist doch viel einfacher?Code :1 2 3 4 5
if %GOOGLE% equ 1 ( echo ... ) else ( echo )
GrußIf at first you don't succeed, try again. Then quit. No use being a damn fool about it.
-
01.10.09 07:58 #3
- Registriert seit
- Sep 2007
- Ort
- Salzgitter, Germany, Germany
- Beiträge
- 190
Guten Morgen,
das Problem ist gelöst und funktioniert nun. Eine ausführliche Erklärung gibt es in meinem kleinen Wiki. Die Hauptdatei hat folgenden Quellcode:Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
@ECHO OFF CD /D C:\ueberwachung MD %CD%\ergebnis\ SET FileOK=%CD%\ergebnis\erfolg.txt SET FileER=%CD%\ergebnis\fehler.txt SET FilePI=%CD%\ergebnis\ping.txt :ueberwachung REM Zeitverzoegertes wiederholen wscript warten.vbs REM Datum und Zeit in das Format xx.xx.xxxx xx:xx:xx einrichten SET datum=%date:~0% SET zeit=%time:~0,8% ECHO PING zu der IP des "BBW Servers" >> %FilePI% PING -n 1 10.10.10.1 >> %FilePI% REM Errorlevel in eine Variable speichern SET BBW=%errorlevel% ECHO PING zu der IP des "www.google.de" >> %FilePI% PING -n 1 www.google.de >> %FilePI% REM Errorlevel in eine Variable speichern SET GOOGLE=%errorlevel% ECHO PING zu der IP des "www.chip.de" >> %FilePI% PING -n 1 www.chip.de >> %FilePI% REM Errorlevel in eine Variable speichern SET CHIP=%errorlevel% REM leeren des DNS-Caches um zu gefährleisten, dass es nicht am Client liegt ipconfig /flushdns >> %FilePI% REM Abschließen der Datei ECHO. >> %FilePI% ECHO ------------------------------------------------------------ >> %FilePI% ECHO. >> %FilePI% REM Fehlerauswertung IF %BBW% == 0 ( echo %datum% %zeit% BBW-Server erfolgreich >> %FileOK% ) ELSE ( echo %datum% %zeit% BBW-Server fehlerhaft >> %FileER% ) IF %GOOGLE% == 0 ( echo %datum% %zeit% GOOGLE-Server erfolgreich >> %FileOK% ) ELSE ( echo %datum% %zeit% GOOGLE-Server fehlerhaft >> %FileER% ) IF %CHIP% == 0 ( echo %datum% %zeit% CHIP-Server erfolgreich >> %FileOK% ) ELSE ( echo %datum% %zeit% CHIP-Server fehlerhaft >> %FileER% ) cls goto ueberwachung
die Datei aufruf.vbs
Code :1 2
Set WshShell = WScript.CreateObject("WScript.Shell") WshShell.Run "ueberwachung.bat",0,True
und die warten.vbs
Code :1 2 3 4 5
REM Zeit für die Wiederholung in Milisekunden wscript.sleep(60000) REM Zeitangaben REM eine Minute: 60000 REM halbe Minute: 30000
Die drei Datei "Überwachen" nun die Verfügbarkeit des Internets. Zu diesem Zweck wird eine fehler.txt und eine erfolg.txt erstellt in der dann jeweils die Erfolgs- oder Misserfolgsmeldung steht. Zusätzlich gibt es noch die ping.txt in der die Ergebnisse der jeweiligen PING-Befehle zu lesen sind, jene Datei wird eigentlich nicht benötigt und wurde nur angelegt, damit wir bei uns Intern noch weitere Aussagekräftigere Informationen haben.
Viel Vergnügen mit dem Script
Muckel/Tobias
Ähnliche Themen
-
[Batch] Per Batch Textzeile auslesen und Verbindung testen?
Von overreaction im Forum Sonstige SprachenAntworten: 1Letzter Beitrag: 15.03.08, 20:18 -
Ping Batch file
Von Corioc im Forum Sonstige SprachenAntworten: 7Letzter Beitrag: 06.08.07, 22:02 -
Netzwerk-Ping per Batch-Datei
Von Slizzzer im Forum Microsoft WindowsAntworten: 0Letzter Beitrag: 16.08.06, 09:24 -
Batch - Ping mit Errorlevel auf bestimmte Netzwerkkarte
Von Rathinger im Forum Sonstige SprachenAntworten: 1Letzter Beitrag: 31.01.05, 12:22 -
Probleme bei Auswertung der Inhalte von eingelesenen Textdateien
Von uwekiel im Forum Flash PlattformAntworten: 4Letzter Beitrag: 31.08.04, 22:30





Zitieren
Login





