Windows 3.1x im Novellnetz




Download 1,26 Mb.
bet371/387
Sana30.05.2021
Hajmi1,26 Mb.
#14667
1   ...   367   368   369   370   371   372   373   374   ...   387
3.26.8 Windows 3.1x im Novellnetz
DNF01293
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 Grafik­treiber. 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 Grafik­treibertyp 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\ 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 stations­abhängige Auslagerungs­datei 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.



Download 1,26 Mb.
1   ...   367   368   369   370   371   372   373   374   ...   387




Download 1,26 Mb.