Recipe5.17.Hiding or Revealing Items in Address Lists


Recipe 5.17. Hiding or Revealing Items in Address Lists

Problem

You have mailboxes or mail-enabled groups that you don't want to appear in the GAL. Alternatively, you have some hidden objects that you want to unhide.

Solution

Using a graphical user interface

  1. Log on to any machine in your domain that has the Exchange management tools installed.

  2. Open the ADUC snap-in (Users and Computers.msc).

  3. Locate the account or group you want to hide.

  4. Right-click the target account or group and choose the Properties command.

  5. The account properties dialog will appear. Switch to the Exchange Advanced tab (remember, you'll only see this if you're editing a mail-enabled object and if you've installed ESM on the machine you're running the snap-in from).

  6. Set the appropriate status in the Hide from Exchange address lists check box.

  7. Click OK.

Using a command-line interface

exchmbx supports two switches for toggling the visibility state: -hfal causes the selected item to be hidden from address lists, and -uhfal makes them visible again. Here's an example:

> exchmbx -b "cn=Elvis Presley,cn=Users,dc=robichaux,dc=net" -hfal

Using VBScript
' This code hides the selected object from all address lists ' ------ SCRIPT CONFIGURATION ------  strDCName = "<ServerName>"    ' e.g., CONT-EXBE01  strUserName = "/cn=<User>, CN=Users, <ForestRootDN>" ' ------ END CONFIGURATION ---------     ' find the target user strQuery = "LDAP://" & strDCName & strUserName Set theUser = GetObject(strQuery)  theUser.Put "msExchHideFromAddressLists", True theUser.SetInfo  WScript.Echo "Hid " & strUserName & " from all address lists"

Discussion

Some objects need to be hidden from address lists so that users won't send mail directly to them. For example, you might have resource mailboxes or mailboxes for people or projects that your general user population either doesn't need to know about or shouldn't be sending messages to. Making a mailbox invisible requires changing a single Boolean property, msExchHideFromAddressLists. There's a separate property named showInAddressBook that contains the lists of address lists that the item should appear in. The RUS maintains showInAddressBook by updating the values in the list each time you modify an address list definition.

You can also use msExchHideFromAddressLists in LDAP queries. For example, you can easily query for all hidden mailboxes by using:

(&(&(objectclass=user)(objectCategory=Person))(msExchHideFromAddressLists=TRUE))

as the query string. However, you can't hide an object from some address lists but not others: if you set msExchHideFromAddressLists on an object, it will be hidden from all address lists.

See Also

MS KB 253828 (How the Recipient Update Service Populates Address Lists)



Exchange Server Cookbook
Exchange Server Cookbook: For Exchange Server 2003 and Exchange 2000 Server
ISBN: 0596007175
EAN: 2147483647
Year: 2006
Pages: 235

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net