Downloads
47542.zip

After reading Ethan Wilansky's two-part Exchange & Outlook Administrator article "Managing User Accounts" (InstantDoc ID 39802 and 40071), I started using the User Update Utility (3U) that the article discussed. This utility provides an easy-to-use GUI for updating Active Directory (AD) user accounts and common attributes that appear in the Global Address List (GAL) in Microsoft Exchange Server 2003 and Exchange 2000 Server. To find the user account you want to modify, you simply enter the user's name or other information into the Search and Modify Utility window, which is the utility's main entry point, then click Find. The search results appear in a table at the bottom of the window. If you select a user account from the results table and click Properties, you'll get the User Account Properties Page. In this page, you can update the properties of the selected user account.

3U consists of the UserUpdate.hta file, two .htm files (Results.htm and PropPage.htm), and the iso3166.xml file. UserUpdate.hta is the heart of the utility. One of its main tasks is to create the Search and Modify Utility window. Results.htm creates the results table, and PropPage.htm creates the User Account Properties Page. The iso3166.xml file contains country names and codes.

I customized 3U's files for my environment and the utility worked great. However, after a while, I started toying with the idea of using UserUpdate.hta from the context menu in the Microsoft Management Console (MMC) Active Directory Users and Computers snap-in rather than the Search and Modify Utility window.

To turn this idea into reality, I first added a Modify User option to the context menu in the Active Directory Users and Computers snap-in. To do so, I followed these steps:

1.I opened ADSI Edit. I've found that the fastest way to open ADSI Edit is to select Run on the Start menu, type adsiedit.msc, and click OK.

2.I expanded the Configuration, CN=Configuration, and CN=DisplaySpecifiers nodes, then selected the CN=409 node.

3.In the right pane, I located the CN=user-Display object, right-clicked it, and selected Properties. The CN=user-Display Properties dialog box appeared.

4.In the Attributes window, I clicked adminContextMenu, then Edit. The Multi-valued String Editor dialog box opened.

5.In the Value to Add text box, I typed the string,&Modify User, C:\usermodmodify.vbs

Note that you must type the comma at the beginning of the string.

6.I closed the Multi-valued String Editor dialog box and the CN=user-Display Properties dialog box by clicking OK twice. I then closed ADSI Edit.

7.I selected Run from the Start menu, typed

mmc /a

and clicked OK to bring up an MMC console window.

8.In the MMC console window, I selected Add/Remove Snap-in under the File menu, then clicked Add. In the Add Standalone Snap-in dialog box, I selected Schema, then clicked Add. I clicked Close, then OK.

9.I right-clicked the Active Directory Schema node in the left pane of the Schema console and clicked Reload the Schema to reload the schema.

10.I closed the Schema console.

With the Modify User option in place, I created the modify.vbs code referenced by the string in Step 5. This code, which Listing 1 shows, calls UserUpdate.hta and passes the selected user's distinguished name (DN) to it. UserUpdate.hta, in turn, calls PropPage.htm.

Next, I modified the UserUpdate.hta file. Because I wanted to use only the User Account Properties Page (and not the Search and Modify Utility window), I modified the Window_onLoad subroutine so that it immediately loads the User Account Properties Page. Listing 2 shows the revised UserUpdate.hta file.

Now when I select a user in the Active Directory Users and Computers snap-in, right-click it, then select Modify User, I get to the User Account Properties Page. From this page, I can easily modify that user's attributes.