zur Navigation springen


Windows Tools

Wartung

Wartung ist eine modular aufgebaute Scriptsammlung, um Programme zu sperren und Neustart nach 24 Stunden zu erzwingen. Sie ermöglichen Serverbasierte Programme zu erneuern in einem 24 Stunden Betrieb.

Ich glaube viele Admins haben das Problem, Anwender daran zu hindern, Server basierte Programme zu starten, die upgedatet werden müssen. Rechner die Monate laufen und somit die Fehler mitschleppen.
Diese Scripts basieren auf DOS-Befehlen und Windowsprogramme die diese Probleme in Griff zu bekommen.
- Der Anwender kann keine Programme mehr starten wenn der Rechner länger als 24 Stunden läuft.
- Der Anwender kann keine Programme mehr starten, wenn diese upgedatet werden.
- Tester die upgedatete Programme einrichten und testen, werden nach dem Update freigeschaltet, ohne das die Masse diese starten kann.
(Einige Programme haben eine Funktion, die dieses schon in den Programmen integriert haben, dieses sollte als Anregung für Entwickler sein.)

Aufbau der Scripte

Das Programm wir nicht mehr direkt, sondern über ein eine Batch-Datei gestartet. In dieser Batch werden alle Bedingungen abgefragt, um das gewünschte Programm starten zu können. Legen zu diesem Zweck einen neuen zentralen Ordner auf den alle Benutzer nur lesenden Zugriff haben. (Dieser Ordner sollte immer erreichbar sein, oder die Verlinkungen werden bei jedem Neustart des Rechner ins Menü eingeschossen) Selbst für lokal installierte Programme ist dieser Umweg möglich und auch Sinnvoll.

@rem beispiel.exe (Windows Testprogramm)   12.12.2006 M. Wulff
@rem #############################################
@echo off

rem --- Rechnerlaufzeit überschritten
H:\wartung\uptime > c:\uptime.txt
find " 0 Tage" c:\uptime.txt >> NUL
IF %ERRORLEVEL% == 1 GOTO UPTIMEERROR1
goto wartung
:UPTIMEERROR1
find "%COMPUTERNAME%" H:\Wartung\uptime_no.txt >> NUL
IF %ERRORLEVEL% == 1 GOTO UPTIMEERROR2
goto wartung
:UPTIMEERROR2
H:\wartung\uptime_meldung.bat

rem --- Ist Wartung
:wartung
if not exist H:\Wartung\beispiel.dat goto start
call H:\Wartung\meldung.bat

rem Ausnahme für die Tester
if exist H:\Wartung\tester.dat goto ende
if exist C:\wico.dat goto tester
goto ende
:tester
Call H:\Wartung\tester.bat

:start
start H:\kkh\prog\beispiel.exe.exe

Wie in der test.bat zu sehen ist, wird im ersten Schritt die Laufzeit des Rechners kontrolliert. Ist die Laufzeit länger als 24 Stunden (Tag ungleich 0) und steht der Rechner nicht in der Ausschlussdatei uptime_no.txt wird nur noch die uptime_meldung.bat aufgerufen.

Im zweitem Abschnitt wird kontrolliert ob für das Programm eine Wartungsdatei besteht. Sollte eine Wartungsdatei bestehen und keine Testerdatei lokal auf dem Rechner vorhanden sein wird das Programm nicht gestartet. Sollte eine Testerdatei vorhanden sein wird ein Warnhinweis ausgegeben.

Ist alles OK kann jetzt ja das Programm gestartet werden.

Jetzt stellt man sich zurecht die Frage, wie können schon gestartete Programme auf den Rechnern beendet werden. Dieses wird kann mit der Skriptsammlung Batch_admin erfolgen. Mit pslist aus dem PSTool- Satz können alle laufenden Tasks ermittelt werden. Sollte das entsprechende Programm laufen kann das entsprechende Programm mit PSKill beendet werden. Bewährt und sicherer ist es den Rechner mit PSShutdown neu zu starten.

Mir ist bewusst, das alle diese Aktionen nicht unbedingt Anwender freundlich sind, aber mit unserem Anwenderklientel hat man leider keine andere Wahl oder Möglichkeit. Ein Begleitende Aufklärung der geplanten Aktion kann/sollte nicht vergessen werden.

Download

Download: Größe: Version: Programm: Datum:
Wartung.zip 263 KByte 1.0

Batch-Dateien + PSTools

18.12.2005

Im Einsatz unter Windows 2003 Server,
sowie unter Citrix



Seitenanfang