Hallo Martin und all´ die Anderen,
ich habe es für mich gelöst. Folgenden Batch (ueberwache_WHS.bat) lasse ich (per Autostart) auf dem XP-Computer laufen:
Diesen Batch hatte sich mal jemand ausgedach um zu prüfen ob mindestens 1 von 3 Server läuft.
Ich habe es in soweit verändert, dass ich 3x den selben Server prüfe.
Des weiteren habe ich eine 2. Prüfung hinten ran gehängt. Die soll verhindern, falls der WHS einen Neustart ausführt, das mein Programmserver gleich runter fährt.
Auf dem Programmserver laufen 3 netzwerkfähige Programme, die von 4 Clients gleichzeitig bearbeitet werden können.
Am ende hängt ein kleines Hotel daran. Buchungssoftware (intern und online) und 2 Kalender.
::
::----ueberwache_WHS.bat------
::
::----1. Prüfung-------
::
@echo off & setlocal DisableDelayedExpansion
::echo Pruefen auf Server Status.
set "host1=10.0.0.101" & set "host2=10.0.0.101" & set "host3=10.0.0.101"
::
:start
:again
echo Pruefen auf Server Status.
::
ping -n 1 %host1%>nul||ping -n 1 %host2%>nul||ping -n 1 %host3% >nul||goto warte2
(set host) & echo Der Server (WHS) ist online!
::
::----Wenn Server läuft, erneut in 300 sec. Prüfen-------
::
@ECHO Off
ECHO Die naechste Pruefung erfolgt in 300 Sekunden.
Echo Es ist Jetzt: %time%
Echo.
ping -n 300 127.0.0.1 > NUL
goto :again
::
::----2. Prüfung-------
::
:warte2
::
::----Server antwortet nicht, vielleicht Neustart durch Admin?-------
::
(set host) & echo Der Server (WHS) ist OFFLINE!
@ECHO Off
ECHO Es erfolgt eine 2. und letzte Pruefung in 300 Sekunden.
Echo Bleibt der Server (WHS) OFFLINE, schaltet sich dieser PC ab.
Echo Es ist Jetzt: %time%
Echo.
ping -n 300 127.0.0.1 > NUL
::
::----Wenn Server jetzt nicht antwortet, dann Shutdown-------
::
@echo off & setlocal DisableDelayedExpansion
::set "host1=10.0.0.101" & set "host2=10.0.0.101" & set "host3=10.0.0.101"
ping -n 1 %host1%>nul||ping -n 1 %host2%>nul||ping -n 1 %host3% >nul||goto ShutMeDown
(set host) & echo Server ist wieder online!
Echo.
::
::----Server antwortet, Script startet neu-------
::
goto :start
::
::----Server antwortet nicht, warscheinliches Ereigniss "Light-Out"-------
::----oder ..... Admin spielt am WHS .... --------
::
:ShutmeDown
echo Pruefen auf Server Status.
(set host) & echo Der Server (WHS) ist OFFLINE!
Echo Dieser PC wird in 60 sec. abgeschaltet!
ping -n 30 127.0.0.1 > NUL
shutdown -s -t 30
::pause
goto :eof
::
Auf dem WHS läuft dann dieser Batch:
start_XP_Computer.bat. Dabei wird der XP-Computer mittels Light-Out wieder aufgeweckt. Nach einer Pause vom 120 Sekunden wird der oben beschriebene Batch gestartet.
Der Aufruf selber erfolgt in Light-Out\Einstellung\Aktion\Bei Ausführung\Dieses Programm beim Aufwachen ausführen:\start_XP_Computer.bat.
In den Ordner \\WHS\Windows\system32\ habe ich wol.exe (
http://www.gammadyne.com/cmdline.htm#wol), psExec.exe (
http://technet.microsoft.com/de-de/sysi ... 96649.aspx) und start_XP_Computer.bat kopiert.
Den Befehl psExec benötige ich, weil alle meine PCs über Benutzer und Passwort gesichert sind.
::
::-------start_XP_Computer.bat-------
::
wol.exe 003AB5DFD3C6
::
::-------Warte 120 Sekunden auf Startvorgang beendet-------
::
ping -n 120 127.0.0.1 > NUL
::
::-------Starte Überwachung-------
::
psexec \\Computername -u Benutzer -p passwort -i C:\windows\system32\ueberwache_WHS.bat
::
goto :eof
Gruss klaus-peter