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:
- interner Server
- google.de
- chip.de
Und leere dann den DNS-Cache des Clients, damit man nicht sagen kann, dass es am Client liegt.
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:
@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