How to get HideFromAddressBook to work on Exchange 2007
Often times customer have a need to create bulk contacts for their organization, but have business requirements to hide these contacts from the global address list. I am just listing two simple ways that you can hide them from the address list. These ways can be as complex as you want them to be depending on your powershell scripting.
You can create your bulk contacts by running the following command in powershell:
New-MailContact -ExternalEmailAddress 'SMTP:TestUser@YourCompany.com' -Name 'Test' -OrganizationalUnit 'YourDomain.com/Contacts/YourCompany' -FirstName 'Test' -LastNane 'User'.
Now that the contacts have been created the second part of this is to hide them from the global address list. There are a few different ways to do this and I only listed two (by searching the entire gal or or by DN).
General Filter: get-mailcontact * | set-mailcontact -hiddenfromaddresslistsenabled $true
By DN: get-mailcontact -OrganizationalUnit "DC=YourDomain,DC=COM,OU=TargetOU" | set-mailcontact -hiddenfromaddresslistsenabled $true