KiXtart, a freeware scripting language, gives you much of the power possible with custom executables. KiXtart scripts make many of the features you want in your logon scripts possible. KiXtart is available from many Web sites. Pick your favorite Web-based search engine and search for KiXtart to find sites such as the KiXtart Archive at http://netnet.net/~swilson/kix/nfKiX.htm. Several KiXtart Internet sites have not only the KiXtart program but also sample scripts. As of July 23, version 3.38 was the most recent.
Once you've unzipped KiXtart, you'll find numerous files, including Kix32.doc, a users guide. The crucial files are Kix32.exe, Kx32.dll, and Kx16.dll. You must copy these three files to the Netlogon share on all your Domain Controllers that authenticate logons. With this groundwork in place, you're ready to write a KiXtart script and tell NT to use it.
Investigating a Script
You can leverage KiXtart in many ways. Our sample KiXtart script in Listing 1 displays corporate information, sets client machine time, and maps drive letters. This script has been regression tested on both NT Workstation 4.0 and Win95 Ver A. We'll refer to this script by section number as we explain what each component does:
- Section 1. Although this section is optional, anyone who has written code knows the importance of a good header. Contact information for the author and creation date are crucial parts of this section.
- Section 2. Section 2 is where the action starts. For fun, we've displayed a tree bitmap and the company name. (We have fictitiously assumed this script is for a forestry service.)
- Section 3. A neat feature of NetWare logon scripts is the ability to display a greeting based on the time of day. Section 3 shows the KiXtart version.
- Section 4. A crucial part of any environment is synchronized time. One idea that works well is to pick a server to set all clients' machine time. We refer to this server as the Keystone timeserver. To ensure the Keystone server has the correct time, install the time service from the NT Server resource kit. By default, a plain user does not have the right to change the time on an NT workstation. To enable users to change the time, give them the right Change the system time.
- Section 5. The last part of the script maps drive letters to network resources. Section 5 shows this function.
The Big Picture
After you've written the script, you must save it. Your logon script needs to be in the Netlogon share on all your domain controllers that validate logons. If you have directory replication established, you can save the script to your export server and it will be distributed automatically. If you are not using directory replication, you must copy the script to each domain controller manually.
Next, you have to instruct NT to use this script when a user logs on. You define a logon script for a user through User Manager for Domains. The Logon Script Name: field appears when you select the profile button under a user's property sheet. The quickest and easiest method for calling the KiXtart script is to specify KIX32.exe as the logon script name. This method works only if you name your script KiXtart.scr. An optional method is available if you do not want to name your script KiXtart.scr. You must create a batch file that contains the following line:
Kix32.exe "Name of KiXtart Script"
Note that you must substitute the name of your script. If you name your script Test.scr, the contents of the batch file are
Instead of filling in KIX32.exe for the logon script name, you now use the name of the batch file.
Additional commands are documented in Kix32.doc. Because KiXtart is freeware, many people are willing to share their knowledge and scripts. You can download these scripts from the Web.