KiXtart Systems Management Server

Login Script

The script is controlled by a collection of .INI files therefore protecting the KiXtart code from modifications. Adapting the login script will only require modifications to the .INI files but not the script itself unless you'd like to take out code segments that do not apply to your environment.

The script itself works in interaction with a client-server based maintenance script system. The maintenance scripts are not necessary for the correct functioning of the login script though. The installation of certain software products and the creation of specific user directories is done by the maintenance script but activated by the login script. E.g. the user has to allow the installation of any software package that will require the computer to reboot automatically in order to finish the installation. Some of my users run multi-day number-crunching routines and I'm therefore preventing the computer from rebooting at an inappropriate time. Additionally, if there is a reboot scheduled the user will be warned upon login.

The script provides extensive logging options. Nearly every screen output (the output that the user sees in the login window) can be written into a unique log file, therefore enabling the administrator to read the exact output for debugging purposes. Additionally, most errors and warnings are trapped and written into a separate error log. Finally, a login log keeps track of each login attempt on a per-day basis, thus one doesn't need to check multiple domain controllers to see when a user logged into a specific computer. All these logging options can be enabled/diabled in the login script initialization file.

The login script has the ability to detect a users login location based on the IP address used (currently tested with single-NIC computers only). Drive and printer mappings can be initiated based on the detected location. The script demonstrates this by differentiating between a Class C subnet (the NT domain), a VPN connection through a Cisco 3000 VPN Concentrator, a dial-up connection, and a connection through a Class B subnet.

Now, without much further ado, here are the files used. All files go into the NETLOGON share of the domain controllers along with the necessary Kixtart executables and libraries.

LOGIN.BAT
The batch file that calls the KiXtart executable and the Kixtart login script. The batch file updates the executable and support DLLs on the client computer. If the client files cannot be updated (e.g. no rights to write to %WINDIR%\SYSTEM32) or the client does not have the correct KiXtart version then the KiXtart executalbe is launched from the NETLOGON folder.

LOGIN.KIX
The KiXtart login script

FUNCTIONS.UDF
Collection of user defined functions that are used by LOGIN.KIX

LOGIN.INI
Initialization fiel for the login script. It defines the logging levels, error display settings, IP address ranges to diffeentiate between login locations, log file locations, and file extensions that can be safely deleted in the TEMP directories.

SHARES.INI
Mandatory drive mappings for users and groups

PRINTERS.INI
Mandatory printer mappings for user sand groups

REGISTRY_ONETIME.INI
Registry settings that will be set the first time a new user logs in. subsequently, only when REGISTRY_ONETIME.INI changes will the registry settings be reset.

REGISTRY_USER.INI
Mandatory user registry setting that will be checked/updated/applied every time a user logs in.

The Kixtart Systems Management Server scripts and support utilities are provided on an AS-IS basis. There is no support for it and proper functionality is not guaranteed. It is advisable to test the systems on a limited basis before deploying it to a whole in-production network.