Recipe 17.10. Mail-Disabling a UserProblemYou want to mail-disable a user. SolutionUsing a graphical user interface
Using a command-line interface> exchmbx -b "<User DN>" -clear Replace <User DN> with the user's distinguished name. For an alternative Microsoft native tool method, create an LDIF file called clearmailattribs.ldf with the following contents: dn: <UserDN> changetype: modify replace: altRecipient altRecipient: - replace: authOrig authOrig: - ... <SEE DISCUSSION, NOT A COMPLETE LDIF FILE> ... Replace <UserDN> with the user's distinguished name. Note that this is not a complete LDIF file as there are many attributes that must be cleared (see the Discussion section). Once you've created the LDIF file, run the following command: > ldifde -i -f clearmailattribs.ldf Using VBScript' This code mail disables a user. ' ------ SCRIPT CONFIGURATION ------ strUserDN = "<UserDN>" ' e.g., cn=jsmith,cn=Users,dc=rallencorp,dc=com ' ------ END CONFIGURATION --------- set objUser = GetObject("LDAP://" & strUserDN) objUser.MailDisable objUser.SetInfo( ) Wscript.Echo "Successfully mail-disabled user." DiscussionThis recipe removes the Active Directory Exchange attributes for a previously mail-enabled user. This is a simple process from ADUC and from VBScript, but behind the scenes several attributes are being updated. For a complete list of the attributes that are modified, see MS KB 307350.
Using a graphical user interfaceThis process is identical to the process for deleting a user's mailbox. Using a command-line interfaceThe ExchMbx solution is simple and, unlike the VBScript solution, can be used on either mail- or mailbox-enabled users.
The LDIF solution requires some additional explanation. The LDIF file shown in the solution is not complete. You must clear many more attributes than listed. Check out MS KB 307350 for the current listing of attributes that should be cleared when removing Exchange attributes (there were about 90 at the time of this writing). Using VBScriptThe VBScript solution leverages the CDOEXM MailDisable method to mail-disable the user. Unfortunately, you can not use this method to mailbox-disable a user. So when you call this method, you should be sure that the user is mail-enabled versus mailbox-enabled. If you use this method on a mailbox-enabled user, you will get an error such as "E-mail addresses cannot be removed from this user because it has a mailbox." The quick way to ascertain whether a user has a mailbox or is simply mail-enabled is to check for the existence of the homeMDB attribute. If a user object has homeMDB populated, there is an associated mailbox for that account. See AlsoRecipe 17.9 and MS KB 307350 (XGEN: Using the "Remove Exchange Attributes" Option) |