I'm just wondering if anyone has successfully managed to implement a solution to hide and unhide mailbox enabled users from the global address list in Exchange 2007 (or 2010/2013) using FIM 2010 (or R2) ?
I've seen a couple of posts related to the same question but the only suggestion was to set msExchHideFromAddressLists to TRUE to hide and remove / set to "FALSE" to unhide. However in my previous role I was an Exchange admin and I'm not sure this (a) works properly (see http://social.technet.microsoft.com/Forums/en-US/1bfc1f51-fcab-41c0-a44e-43f98565b1bf/hide-email-address-from-global-address-list-exchange-2007) (b) is supported from an Exchange perspective.
I've done some before / after testing of changing the "Hide from Exchange address lists" using either the Exchange management console or management shell, and in addition to changing the "msExchHideFromAddressLists" attribute, the "showInAddressBook" attribute is also updated at the same time. So, to hide :
"msExchHideFromAddressLists" is set to "True"
"showInAddressBook" is set to null / blanked out
Easy enough to do in a rules extension, but the problem arises when you want to unhide a mailbox from the GAL, in which case you have to set "msExchHideFromAddressLists" to False/Null, but how do you repopulate "showInAddressBook" ? when you use the EMC/EMS Exchange does some under the covers stuff to repopulate that attribute. It used to be a function of RUS in Exchange 2003 but since 2007 RUS no longer exists. You can set "msExchHideFromAddressLists" to null and then run "Update-Recipient" in powershell (similar to what FIM does following exchange provisioning) and this does populate "showInAddressBook" but then you've got to call powershell somehow.
All of the Exchange related posts I've read say basically use either the EMC or EMS, so I was just wondering if anyone had achieved this using FIM and if so how ? the only way I can think of doing this is having a MPR/Set/Workflow in the portal that kicks off a bit of powershell, but I was wondering if anyone had done this using the sync server/attribute flows/rules extensions, that kind of thing ?