We want to provide an environment where we have a common methodology and design to the corporate logon script. I have put a corporate kixtart script framework in place. The corporate logon script performs all the corporate stuff first. Then executes any number of scripts based on the OU hierarchy of both the user account in the global account domain and the computer account in the country resource domain. All of those are owned and operated by the regional, country, or local IT staffs as delegated by the OU structure. When writing those scripts they do have to understand the environment within they are writing their script.I have a set of published Global variables that they can use without gathering additional data. There is also a corporately control function library that provide things such as: 'MapDrive' and 'WriteLog'. These functions provide error checking, display data(if nec.), and logging. By using these functions all the scripts flow as one with the same look and feel that saves time and code.
If they happen to re-assign a value to a global variable they only screw themselve or those downstream from them for which they are responsible.
The user based scripts come last after all the corporate, regional, country, business unit, etc. stuff has already taken place.
These scripts involve a special user-based Citrix script that the user can configure his Citrix session as he sees fit. Since we have Citrix users from all over the globe hitting the same server farm, we can not always know what his local drive mapping may be. If the user asks, he can get assistance setting this up.
The user.kix that is stored in the user's home share executes last following the user where ever he goes and logs on. This is primarily used by the local LAN support and Help Desk staffs. They establish extra mappings to the software patches and drivers directories.
Most of the computer are locked down so that the user can not hurt himself. For those that have the ability and do hurt themselves, LAN support charges the user's department time & materials and simply kicks off a computer rebuild. Two hours later, everthing is back to normal. The user assumes the risk.
We provide the flexibility and to date it has worked quite well. I just want to improve it some more. 
[ 21 October 2001: Message edited by: Howard Bullock ]