(letzte Änderung 17.04.06)
Die Installation und Betreuung eines Rechnerraums mit zehn oder mehr Arbeitsstationen kann eine sehr zeitaufwändige und schweißtreibende Arbeit sein.
Mit Hilfe von Image-Kopierern lässt sich die Arbeit für den Netzwerkverwalter schon erheblich erleichtern, wenn er über weitgehend identische Rechner verfügt, denn nur ein Rechner muss vollständig eingerichtet werden. Die übrigen werden praktisch geklont. Zum Klonen muss i.A. jeder Arbeitsplatz von Diskette gebootet werden - wesentlich schneller geht das mit Netboot.
Nach dem Klonen bleibt aber immer noch ein mehr oder weniger großer Anteil von Handarbeit, wie die Festlegung von Rechnernamen, Platznummern, TCP/IP-Adressen u.ä., die an jedem einzelnen Rechner durchgeführt werden muss.
Da ich ungern Arbeiten mache, die eigentlich auch ein Computer übernehmen könnte, habe ich eine Möglichkeit gesucht (und auch gefunden), wie man sie weitgehend vermeiden kann.
Die Idee ist, ansonsten identische Arbeitsstationen doch irgendwie zu identifizieren und die dabei gewonnenen Informationen beim Rechnerstart auszunutzen, um das aufgespielte Image in geeigneter Weise automatisch zu verändern. Eine Möglichkeit ist, die NODE(MAC)-Adresse der Netzwerkkarte zu ermitteln, da diese für jede einzelne Karte weltweit einzigartig ist.
Ein entsprechendes Programm sollte mit allen möglichen Netzwerkkarten funktionieren, daher schied ein direktes Ansprechen der Hardware aus. Stattdessen benutzt das Programm IPX-Routinen, für die es bei jeder Netzwerkkarte entsprechende Treiber gibt.
Und so funktioniert die Sache:
Nachdem die erste Arbeitsstation komplett eingerichtet ist, wird die Datei SETPLATZ.BAT gelöscht und anschließend ein Image auf dem Server abgelegt. Dieses Image wird über das Netzwerk an alle Stationen verteilt, die dann beim ersten Booten automatisch entsprechende Veränderungen vornehmen.
Dies könnte z. B. in der AUTOEXEC.BAT geschehen.
AUTOEXEC.BAT (24.10.99)
...
REM
CALL SETPLATZ.BAT
REM Wenn die Datei nicht existiert, bleibt die
REM Variable unbesetzt.
IF "%PL%"=="" GOTO SetNr
GOTO NrOK
:SetNr
LSL
NE2000
REM ... oder entsprechender anderer Treiber
IPXODI
Get_Node
REM Jetzt ist alles passiert und die DOS-Treiber
REM können wieder entladen werden.
IPXODI /U
NE2000 /U
LSL /U
CALL SETPLATZ.BAT
REM Hier könnte z. B. auch die Registry verändert werden
REM wie z. B.:
REGEDIT PLATZXX.REG
:NrOK
SET USER=PLATZ%PL%
LOGIN %USER%
REM bzw. WIN
...
SETPLATZ.BAT setzt nur die Umgebungsvariable %PL% auf die 1-4stellige Nummer des Arbeitsplatzes und wird von Get_Node automatisch generiert.
Bei einem frisch überspielten Image bleibt %PL% ungesetzt (vorausgesetzt, man hat nicht vergessen, die Datei SETPLATZ.BAT vor der Image-Erzeugung zu löschen.
Bei jedem Neustart wird SETPLATZ.BAT aufgerufen und hält die Platznummer in einer Umgebungsvariablen fest. Nur bei einem 'frischen' Image tritt Get_Node in Aktion, beim nächsten Neustart ist das dann nicht mehr nötig.
Das Hochfahren des Rechners von Diskette kann erheblich beschleunigt werden, wenn man eine RAM-Disk einrichtet und Teile der benutzten Programme von dort lädt. Ich packe alles in ein selbststartendes Archiv, das sich in der RAM-Disk entpackt und von dort aus geladen wird.