[ | Suche | Alternativ Version | Frame Version ] Suche Home Tips (Client) Mappings "." und ".." auf Netware Server !?

3.2.16 Login Script

DNF97149

Der Default Login Script der Netware 3.1x (fest codiert in der LOGIN.EXE) wird abgearbeitet, wenn kein System und User Login Script vorhanden ist:

WRITE "Good %GREETING_TIME, %LOGIN_NAME."
MAP DISPLAY OFF
MAP ERRORS OFF
MAP *1:=SYS:; *1:=SYS:%LOGIN_NAME
IF "%1"="SUPERVISOR" THEN MAP *1:=SYS:SYSTEM
MAP INS S1:=SYS:PUBLIC; INS S2:=SYS:PUBLIC/%MACHINE/%OS/%OS_VERSION
MAP DISPLAY ON
MAP

Soll nur das Abarbeiten des Default Login Scripts vermieden werden (unter weiterer Beachtung vorhandener User Login Scripts), reicht ein NO_DEFAULT im System Login Script.

Ansonsten kann man den System Login Script mit EXIT ["programm"] beenden, dann wird weder der Default Login Script noch evtl. vorhandene User Login Scripts abgearbeitet.

Zwischen den Anführungszeichen dürfen max. 15 Zeichen stehen, der Platz, der in normalen PC's im Tastaturpuffer frei ist, denn dorthin wird das geschrieben. Wenn dann der folgende Fehler auftritt:

EXIT with "MENUE.BAT" does not run on this machine!

liegt das an einem anderen MACHINE NAME in der NET.CFG und läßt sich ganz einfach mit dem Eintrag pccompatible im Login Script wieder aktivieren.
Das ist eine Absicherung gegen nicht 100 % kompatible PCs, weil das EXIT "....." direkt in den Tastaturpuffer schreibt!

User Login Script trotz einheitlichem EXIT "..."

mit der Zeile INCLUDE SYS:MAIL\%USER_ID\LOGIN kann man User Login Scripts aus dem System Login Script heraus ausführen. INCLUDE ... funktioniert auch mit jeder beliebigen ASCII-Datei, auf die aber Leserechte bestehen müssen.

Der System Login Script steht übrigens schreibgeschützt als ganz normale ASCII-Datei in SYS:PUBLIC/NET$LOG.DAT, die jeweiligen User Login Scripts in SYS:MAIL/%USER_ID/LOGIN.

wie kann ich eine Batchdatei aus dem Systemlogin Script heraus starten ?

#BEFEHL für externe Kommandos
 
#COMMAND.COM /C DEL C:\TEST.BAT für interne Befehle und Batchdateien
 

Man darf aber nie ein TSR in einem LOGIN Script starten, weil LOGIN.EXE noch läuft und den Script abarbeitet. Ein TSR legt sich darüber, der später freiwerdende Speicherplatz kann bis zum nächsten Booten nicht mehr belegt werden.

Ausnahme:

Mit #CAPTURE kann man ohne weiteres Druckumleitungen machen, weil CAPTURE nicht resident geladen wird, sondern lediglich bestimmte Flags in dem (bereits geladenen) Requester/Shell ändert.

Wie kann ich verhindern, daß beim Einloggen eines Users die Laufwerkmappings angezeigt werden?

MAP DISPLAY OFF in den Login Script

Die Anzeige von MAP-Fehlern wird übrigens mit einem zusätzlichen MAP ERROR OFF ausgeschaltet.

DOS-Variablen im Login Script definieren

Man kann folgendes Konstrukt (besonders aufwendig bei vielen Benutzern) stark vereinfachen:

 IF P_STATION == "000024061371"
    SET ID = "24061371"
 END
 usw....

Das läßt sich mit einer einzigen Zeile für alle Stationen im Netz realisieren:

DOS SET ID=P_STATION << 4

und funktioniert übrigens auch umgekehrt:

DOS SET ID=P_STATION >> 6

ergibt ID=000024, macht aber hier keinen Sinn, da es damit zu gleichen Ziffern kommen kann. Aber diese beiden Optionen funktionieren bei allen DOS SET xx= Zuordnungen.

wie kann man beim Einloggen in Netware 3.1x den System Login Script umgehen?

Mit Login /S kann man ein anderes Script ausführen lassen.


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

Home Tips (Client) Mappings "." und ".." auf Netware Server !? Zugriffe