Auto-Power-OFF

Auto-Power-OFF wenn kein Computer mehr im Netz ist.

Wir haben mehrere Computer die untereinander in einem Netzwerk verbunden sind. Teils über Koaxialkabel 10 MB, Netzwerkkabel 100 MB und über Funk (Wireles). Da nicht jeder Computer  eine Telefondose in der nähe hat (bei DSL auch nicht möglich) und ich auch nicht für jeden PC einen Drucker/Scanner kaufen wollte, habe ich mich für einen extra Computer (hier Service-PC genannt) entschieden. Dieser stellt die Verbindung zum Internet (DSL) her und managt den Mailverkehr, ISDN und die Drucker. Auf diesem Rechner gibt es eine (? min 2!) Firewall´s ; Antivirus ; Spamschutz ; Surfeinstellungen zum Schutz für jede einzelne Personen ...uvam.

Ein Nachteil gab es aber immer. Wenn der Rechner gestartet und keiner mehr im Netz war, blieb dieser PC aber trotzdem an. Da wir auch “Strom sparen” wollen hatte ich mir ein Par Gedanken gemacht.

Der Rechner wird durch eine Taste an jedem PC gestartet.
Das Netzteil des Service-PC bringt ständig eine 5V Spannung. Das “On” Relais, gibt das “Start” Relais frei wenn der Rechner nicht an ist.  Wird eine Taste gedrückt, schaltet das “Start” Relais durch, der Rechner startet. Da nun der Rechner mit 12V versorgt wird, zieht das “On” Relais an und der Stromkreis für das “Start” Relais ist offen. Es kann also niemand den Service-PC starten, wenn dieser schon an ist! Nur der Wireles Zugang kann so nicht ausgestattet werden. Aber der Laptop liegt sowieso immer in der Nähe von einem anderen PC. Dann eben an diesem die Taste drücken, und los geht’s!

Zum Programm, dies bekam den Namen Ping-off.bat

Der Service-PC soll alle 10 Minuten nachsehen ob noch ein anderer PC im Netz ist. Wenn keiner mehr da ist, soll dieser dann normal herunterfahren und ausschalten! Eine Zeit lang habe ich dies mit einer Zeitschaltuhr und dem Taskplaner gelöst.

Ping-off.bat sucht im Netz 192.168.0 nach den Rechnern 2 bis 255. (Der Server “1” sollte nicht mit überprüft werden!)
Das XCALC Programm ist von 1993; geschrieben auf einem 386/40 PC mit dem Programm PowerBasic Compailt.
Die Schleife (LOOP) zählt bis 254 (IF ERRORLEVEL 254 GOTO EXIT), wenn es so viele Rechner im Netz gib; OK Existiert ein Rechner im Netz (ping 192.168.0.x) dann schreibt das Programm die Adresse (192.168.0.x) in die Datei >ping.txt<. Sind mehrere Rechner im Netz werden diese, der Reihe nach aufgeschrieben. Nachdem alle Netzadressen durch sind, wird durch >Find < gefragt, ob der Eintrag 192 vorhanden ist. Es reicht aus, wenn nur nach 192 gesucht wird, da ja nichts anderes in der Datei stehen kann. Ist kein Eintrag in der Datei >ping.txt< vorhanden, wird also das Internet / Drücker / ... nicht mehr benötigt und der Service-PC fährt nun herunter (SHExitWindowsEx).

Diese Version läuft auf einem 80586/II (300MHz) mit 256 MB-RAM und Windows98 seit einigen Monaten (03/2005) reibungslos. Ab und zu kommt es vor das Windows den Rechner nicht ausschaltet. (Problemlösung: einmal in den Abgesicherten Modus starten und beim nächsten Mal geht es wieder, altes WIN98 Problem)