[ | Suche | Alternativ Version | Frame Version ] Suche Home Windows Winword und Novell Windows 3.x Treiber bei Serverinstallation

3.14.2 Windows 3.1x im Novellnetz

DNF97297

Unsere Kunden bekommen ein Windows auf's Netz - im Verzeichnis SYS:WIN31 (mit einem Search-Map versehen) wird mit SETUP /A alles installiert. Jeder Benutzer hat ein User-Verzeichnis (i. d. Regel mit MAP ROOT G:=SYS:USER/%LOGIN_NAME% gemappt). Hier richte ich mir in meinem eigenen G:-Laufwerk mit SETUP /N die erste Win-Version im Verzeichnis G:\WIN31 ein. Mein Ziel bei Win-Installationen ist immer folgendes: der Anwender soll zwar alles Nötige zur Verfügung gestellt bekommen, aber er soll so gut wie nichts verstellen können. Auf die Weise kann er davon ausgehen, daß er beim nächsten Start von Windows alle Fenster so vorfindet, wie er es gewohnt ist - wenn man weiß, welches Unheil unerfahrene "Maus-Klicker und -Schieber" so auf dem Desktop anrichten können, ist das immer gut zu wissen.

Jetzt installiere ich erstmal alle notwendigen Grafiktreiber. Auch werden alle Gruppen angelegt, die nötig sind. So schmeiße ich aus der Hauptgruppe fast alles 'raus, lege mir eine Gruppe "Supervisor" an und erstelle eine Gruppe "Programme", in die später alle Programme reinkommen.

Ich lege auf dem Server ein Verzeichnis SYS:INI an. In diesem Verzeichnis wird für jeden Grafiktreibertyp ein Verzeichnis angelegt. Bspw.: SS8X6 für SpeedSTAR 800x600 usw. In diese Verzeichnisse (darauf haben alle Lesezugriff), kommen die gemeinsam genutzten Gruppen-Dateien (*.GRP). Im Verzeichnis INI lege ich für jeden Benutzer eine PROGMAN.INI als %LOGIN_NAME%.PRG an.

Im Login-Script wird jetzt für jede Station - abhängig von der Grafikkarte - ein MAP ROOT J:=SYS:INI\<entsprechendes Verzeichnis> mit anschließendem COPY J:\*.GRP G:\WIN31 gemacht. In den *.PRG-Dateien in SYS:INI kann man wunderbar editieren, welcher Benutzer welche Gruppe sehen soll und wo die liegen soll (die PRG-Datei holt er sich beim Aufruf von Windows). Jeder Benutzer hat in G:\WIN31 eine AUTOSTART- und eine PRIVAT-Gruppe. Alle anderen kommen immer wieder von J: - so ist sichergestellt, daß auch die Gruppen immer gleich bleiben.

Wozu die GRP's für jede Grafikkarte? Weil Win sonst jedesmal die GRP-Dateien an den jeweiligen Treiber anpassen muß - das kostet Zeit.

Jetzt kommt die WIN.INI aus meinem Verzeichnis auch ins INI-Verzeichnis. Die SYSTEM.INI kommt als %STATION%.SYS ins INI-Verzeichnis, wobei im LOGIN-Script für jede Station mit SET STATION=P_STATION <<4 eine eindeutige Veriable gesetzt wurde (die enthält die letzten 8 Ziffern der Ethernet-ID). Die SPART.PAR-Datei (die den Verweis auf die stationsabhängige Auslagerungsdatei auf C: enthält, kommt ebenfalls als %STATION%.PAR ins INI-Verzeichnis.

Im INI-Verzeichnis liegen also demnach:

Die PROGMAN.INI für jeden Benutzer
Die SYSTEM.INI für jede Station
Die SPART.PAR für jede Station
Die WIN.INI des Supervisors.

Jetzt wird erstmal der ganze Kram aus meinem G:\WIN31 für jeden Benutzer kopiert - jeder erhält also ein G:\WIN31. Natürlich ohne meine eigenen Gruppen. Nur mit der leeren AUTOSTART und PRIVAT-Gruppe.

Ab hier gibt es zwei Möglichkeiten: entweder legt man auch für jeden Benutzer eine eigene WIN.INI in INI ab (einfach...), oder man erzeugt eine, in der beim Start von Windows einige Stellen für den jeweiligen Benutzer ausgetauscht werden. Im ersteren Fall hat man den Nachteil, daß es Zeit kostet, Änderungen an den INI-Dateien für alle 120 Benutzer durchzuführen. Im letzteren Fall hat man das Problem, das es irre viel Gefummel ist, bis es läuft. Danach ist's aber sehr einfach, kurz mal was an der WIN.INI zu machen...

Interessant wären die Batches, mit denen Windows aufgerufen wird.

Wenn man obiges gelesen hat, versteht man vielleicht auch dieses (die umfangreiche Version mit nur einer WIN.INI):

@echo off
cls
echo.
ncopy H:\INI\WIN.INI I:\WIN31\WIN.INI >nul
rem hier wird die WINI.INI nur erstmal kopiert
ncopy H:\INI\%LOGIN_NAME%.PRG I:\WIN31\PROGMAN.INI >nul
rem die eigene PROGMAN.INI
ncopy H:\INI\%STATION%.SYS    I:\WIN31\SYSTEM.INI  >nul
rem die stationsabhängige SYSTEM.INI
ncopy H:\INI\%STATION%.PAR    I:\WIN31\SPART.PAR   >nul
rem  die stationsabhängige SPART.PAR
ncopy H:\INI\%STATION%.CTR    I:\WIN31\CONTROL.INI >nul
rem auch die mußte ich bei einem Kunden variabel gestalten,
rem da die Grafiktreiber unterschiedliche Farben machten
ncopy J:\*.GRP                I:\WIN31             >nul
rem  da kommen die Gruppen
flag  I:\WIN31\SPART.PAR RO                        >nul
rem noch ein Schreibschutz drauf. Die SPART.PAR muß übrigens
rem auf jedem PC einmalig unter Windows erstellt werden
I:
rem hier ist das Userverzeichnis I: und nicht G: wie oben

if %STATION% == 12345678 goto WS01Config
if %STATION% == yyyyyyyy goto WS02Config
....
if %STATION% == xxxxxxxx goto WS07Config
if %STATION% == zzzzzzzz goto WS08Config
rem je nach Station gehts jetzt weiter
rem (die Env.-Var %STATION% wird im LOGIN-Script gesetzt).

:WS01Config
rem USERNAME
rem damit man später noch weiß, wer an dem Platz sitzt
cd \win31
rem ins eigene Userverzeichnis wechseln
QR Commit0 device= win.in* >nul
QR Commit1 Panasonic win.in* >nul
QR Commit2 KX-P4450i,PCL4X,LPT1: win.in* >nul
QR Anschluss LPT1 win.in* >nul
rem ich habe in der WIN.INI die Variablen "Commit0", "Commit1",
rem "Commit2" und "Anschluss" gesetzt. Die werden vom Programm
rem QR (ein Stringtauscher - mehr dazu weiter unten!) übersetzt in
rem das, was hinter der Varible steht, also "Commit1" -> "Panasonic"
rem - womit ich für jeden Benutzer unterschiedliche
rem Druckervoreinstellungen machen kann.
QR Col1 64 win.in* >nul
QR Col2 128 win.in* >nul
QR Col3 255 win.in* >nul
QR Col4 224 win.in* >nul
rem  Hier noch ein paar Farbwerte...
cd \
goto WindowsStart

:WindowsStart
rem Hier geht's dann los!
win31 %1
rem  Windows starten (die WIN.COM im userverzeichnis heißt WIN31.COM!)
cls
echo.
i:
cd\win31
copy  SYSTEM.INI     I:\WIN31\INI\%STATION%SYS.INI >nul
copy  CONTROL.INI    I:\WIN31\INI\%STATION%CTR.INI >nul
copy  WIN.INI        I:\WIN31\INI\%LOGIN_NAME%.INI >nul
copy  PROGMAN.INI    I:\WIN31\INI\%LOGIN_NAME%.PRG >nul
rem  Damit man zur Not Änderungen an den INI-Dateien nicht einfach
rem durch einen Windows-Neustart überschreibt... Da muß man aufpassen!

dir   J:\*.GRP /B >DELETE.IT
xdel  @DELETE.IT /N                                >nul
rem Damit werden wieder alle GRP-Dateien gelöscht.
del   DELETE.IT                                    >nul
del   SYSTEM.INI                                   >nul
del   WIN.INI                                      >nul
del   CONTROL.INI                                  >nul
del   PROGMAN.INI                                  >nul
rem Damit ist das Verzeichnis beim User wieder total jungfräulich!
cd..
flag  I:\WIN31\SPART.PAR RW                        >nul
del   I:\WIN31\SPART.PAR                           >nul
echo.

Die andere Veriante (mit vielen WIN.INI's) sähe etwa so aus:

@echo off
cls
echo Der Start von Windows 3.1 wird vorbereitet...
echo.
flag g:\windows\spart.par rw >nul
ncopy f:\win31\ini\%LOGIN_NAME%.ini g:\windows\win.ini >nul
ncopy f:\win31\ini\%LOGIN_NAME%.prg g:\windows\progman.ini >nul
ncopy f:\win31\ini\%P_STATION%.ini g:\windows\system.ini >nul
ncopy f:\win31\ini\%P_STATION%.par g:\windows\spart.par >nul
ncopy j:\*.grp g:\windows >nul
flag g:\windows\spart.par ro >nul
win31 %1
cls
echo Windows 3.1 wird beendet...
echo.
ncopy g:\windows\system.ini g:\windows\%P_STATION%.old >nul
ncopy g:\windows\win.ini g:\windows\%LOGIN_NAME%.old >nul
echo.

Copyright © by Stefan Braunstein (stefan@braunstein.de)
Letzte Aktualisierung am 1. November 1998

Home Windows Winword und Novell Windows 3.x Treiber bei Serverinstallation Zugriffe