"VB Scripting Project"
VB Scripting Project Jason Collins 2-10-08 VB Scripting Project The following proposal is intended to improve a frustrating and time consuming user management task we have been dealing with as Systems Administrators at the Cleveland Clinic. The task I am referring to deals with adding Active Directory group memberships to new user accounts. I will describe the issue, how I intend to resolve the issue, a plan to test the solution, and the budget that will be required. As it stands now, when a new person is hired at the Cleveland Clinic, their manager will put in a service request to have a new user account created. It is usually not clear which groups that new user should be a member of so the manager is normally asked to provide the name of a user who will perform the same job duties as the new hire so the group memberships can be copied from that user to the new hires account. It is not unusual for any given user to be a member of twenty or thirty different groups, and each group has to be manually added to the new user account. To add to the frustration, there are a lot of groups that the Systems Administrators do not have the rights to add, only the Enterprise Engineers. So after taking the time to add all of the groups there will be a lot of them that error out and those groups that would not add due to lack of permissions have to be typed into a service request that is sent to the Enterprise Engineers who have full access to all of the groups. To make setting up a new user account more efficient I can design a script that will automate the process. The script will start by displaying a message box that asks if you would like to create a new user account. This will provide flexibility because you may need to copy group memberships from one user to another after the new user account has already been created, but most of the time the new account will not have been already created, so you will have the option to have the script create one for you. If you click yes, you will be prompted to enter user account information though a series of input boxes. After you enter the required VB Scripting Project information a new user account will be created and then you will be prompted to enter the user name of the template user who you want to copy the groups from, followed by a prompt for the new users name. If you click no, the script will skip past creating a new user and prompt you to enter the name of a template user followed by the name of the new user. Before actually writing the group information to the new user account you will get a message box for each group asking you to verify if you want to add the group to the new user account. This will make the process take a little bit longer, but provides more security because you get to see what groups are being added and if there is one you know for sure they should not be put in, you have the option to not have it added to the new user account. Finally, any groups that you did not have rights to will be written to a log file. The contents of that log file can be directly pasted into a service request that will be sent to the Enterprise Engineers who can add the remaining groups by running the script using their user credentials. Eventually this will probably lead to the Enterprise Engineers creating the user accounts and adding the groups from the beginning since it will be so easy for them, they should not complain and it just makes more sense. Testing the script should be painless and not take very long. I will use our test environment that consists of a server running Active Directory and several other workstations that are on a private network not connected to the corporate network. After about a day of testing the script in the test environment and making sure it creates accounts and copies groups without causing any problems, the script can be tested for a couple of weeks on our corporate network by several Systems Administrators before being released to all of them. I estimate that the script will take about fifteen hours of coding and testing to complete. Since I will be the only one working on this project, the budget required will be my hourly wage times the number of hours I work on it, which should end up around $450. I would also estimate VB Scripting Project that the script will save an average of ten minutes per new user account; as a result the script will pay for itself after about ninety new user accounts. In a company with almost forty thousand employees, it is common to have a lot of employee turn over, not to mention our continued fast paced growth; both result in a lot of user account maintenance. Providing this new tool to our Systems Administrators will allow them to work more efficiently, and will also start saving the Cleveland Clinic money within a few months. To make it easier to see how the script will work, I have included a flow chart of the script operation on the next page. VB Scripting Project