
                                        PLS
                               Personal Login Script
                                    Version 1.0
                               Release date: 01/25/92
                            Copyright 1992, Michael Volk

        PLS is a little utility I have written to solve a problem using
        Novell Netware. There is no inherent way to know whether users have
        a personal login script. If they do, it will be executed; if not,
        the default login script will executed. Since as a network
        administrator you wish to do as much as possible in the system
        script, the user's HOME directory should be set there. However
        SYS:%LOGIN_NAME (the assumption of the default login script) will
        not work if SYS:DEPARTMENT\%LOGIN_NAME is used. Therefore I was left
        with the choice either of making a script for every user (hoping
        that no one erases it) or of using EXIT in the System login script
        to prevent the DEFAULT USER SCRIPT from being executed.

        In many installations the solution is to place an EXIT command at
        the end of the SYSTEM LOGIN SCRIPT, thereby preventing the user's
        LOGIN SCRIPT or the DEFAULT SCRIPT from executing. I wanted to be
        able to allow the users that are so inclined to use and learn more
        about the network, including Login Scripts. At the same time, I
        didn't want to waste the space required to create a script for every
        user at 4k per file.

        Not being satisfied with either of these options, I decided to
        provide a third solution. I wrote PLS, Personal Login Script, to
        test for the existence of a user's script, to delete wasteful LOGIN
        scripts (3 bytes or shorter), and to do it in a fashion that
        involves no extra work for the Network Adminstrator once he has set
        it up, even in the event that users delete their scripts.

                                WARRANTY AND LICENSE

        No warranty of any kind is provided and the user assumes all risks
        of operation. The program is provided AS-IS and the author shall not
        be liable in the event of lost data or any other damage caused by
        the program.

        The program was carefully written but if you do encounter errors or
        bugs please report them to me.

        This program is FREEWARE. It is copyrighted software and you are
        free to use it. You may distribute it ONLY under the following
        conditions:

                No modifications are made.
                This documentation must accompany the program.
                No fee is charged for the software.

        If you do use the software and find it helpful I would appreciate it
        if you would drop me a note and let me know.













        Compuserve - 70242,376
        Internet - MVOLK@PUCC.PRINCETON.EDU

        Or via US Mail

        Mike Volk
        91 Princeton Arms West
        Cranbury, NJ 08512
        609-448-2479  ( 6pm - 10pm EST only )

                                 USING THE PROGRAM



        Use is very easy.

        Copy PLS to you PUBLIC directory and flag it as SHARABLE, READ-ONLY.
        For purposes of installation, knowledge of Netware is presumed.

        In your SYSTEM LOGIN SCRIPT

        MAP INSERT S16:=
        ...
        ...
        ...
        MAP h:=SYS:depart\%login_name

        #PLS
        ;
        ; If the script can't deleted or other error.
        ;
        IF "%ERROR_LEVEL">="3" then begin
            Write "Please inform the Network Supervisor that there is a
        problem";
            EXIT
        END
        ;
        ; If script is too short it is not run and it gets deleted.
        ;
        IF "%ERROR_LEVEL"="2" THEN BEGIN
            Write "Your Script was too short and has been deleted."
            EXIT
        END
        ;
        ; If script isn't found
        ;
        IF "%ERROR_LEVEL"="1" THEN EXIT
            WRITE "You have no personal Login script."
            EXIT
        END
        ;
        ; This line is not needed - Only there as feedback to verify
        operation
        ;












        IF "%ERROR_LEVEL"="0" THEN BEGIN
            Write "Now executing %LOGIN_NAME's  Login Script"
        END



                                    ERROR LEVELS

        0 - Login script exists and is more than 3 bytes long

        1 - Login script does not exist and EXIT should be executed to
            prevent DEFAULT login script from executing.

        2 - Login script was 3 bytes or less and has been deleted. Exit
            should be executed to prevent DEFAULT login script.

        3 - Error opening Login script - Exit should be executed.

        4 - Login script was not deleted, but should have been. You may want
            to have a message that tells them to inform the Network
            Supervisor to look into their script as there might be a
            problem.

        Other error levels might appear but shouldn't. If they do, there
        probably is an unrelated Netware error.

        This software has been tested on Novell Netware 386 v3.11 but should
        work with older versions as well.

                                      CREDITS

        This program was written using Borland's Turbo Assembler v2.0 and
        Base Two Development's Spontaneous Assembly.

        Programmer's Guide to Netware by Charles G. Rose, McGraw-Hill Lan
        Times Book series.

        Mastering Turbo Assembler by Tom Swan, Hayden Books.

        I would also like to thank the following people:

        Charles G. Rose, not only for writing his book but also for his
        prompt reply to my query that steered me into using a newer call to
        obtain the information, and provided me with the correction to the
        published information.

        Paul Troiano, for his assistance in getting me going with 80x86
        assembly after so many years of not doing assembler.

        Malcolm DeBevoise, for assistance editing this document.

        I would also like to thank Charles L. Creesy, John E. Van Sant, Bob
        LaFond and others whose names escape me just now for their
        encouragement during this project and their kind ears whilst I
        stumbled about when I started this.













                                   OTHER PROGRAMS

        ONCE - meant to be used in conjection with utilities such as MIRROR
        to run them ONCE a day -- using this allows you to run MIRROR the
        first time you BOOT each day and not every time you reboot. File is
        ONCE.ZIP

        Look for others to follow.

