Exclude hidden mailboxes from a Dynamic Distribution Group
Another interesting finding I made thanks to an Expert Exchange question I was involved with.
The question sounded pretty simply
I can create new dynamic distribution groups using powershell and the Exchange Console, but I cannot figure out how to filter the hidden mailboxes so they are not added.
I logically started by trying to use the msExchHideFromAddressLists attribute trying to get the list of mailboxes where it is set to false using the following powershell script to create the Dynamic Distribution List
New-DynamicDistributionGroup -Name "test" -OrganizationalUnit 'mydomain/Distribution Groups' -RecipientContainer mydomain -RecipientFilter { recipienttype -eq 'usermailbox' -and HiddenfromAddresslistsEnabled -eq $false}
But I was surprised to noticed it didn't work! It was actually returning only mailboxes the ones hidden from the address lists. There was something wrong in my OPATH query but wasn't able to find out what up front...
To double check I was not missing something I tried creating another DDG with the same command as above just with HiddenfromAddresslistsEnabled -eq $true and both groups where giving exactly the same results! Here is the full powershell command I used to create test1
New-DynamicDistributionGroup -Name "test1" -OrganizationalUnit 'mydomain/Distribution Groups' -RecipientContainer mydomain -RecipientFilter { recipienttype -eq 'usermailbox' -and HiddenfromAddresslistsEnabled -eq $true}
That was pretty weird !
I decided next to give it another approach and I replaced HiddenfromAddresslistsEnabled -eq $false by HiddenfromAddresslistsEnabled -ne $true.
For all practical purposes the above 2 statements are exactly the same since HiddenfromAddresslistsEnabled is a Boolean attribute but for a mysterious reason Exchange responded perfectly to that one and returned only mailboxes that are not hidden from the address lists!
New-DynamicDistributionGroup -Name "test2" -OrganizationalUnit 'mydomain/Distribution Groups' -RecipientContainer mydomain -RecipientFilter { recipienttype -eq 'usermailbox' -and HiddenfromAddresslistsEnabled -ne $true}
A final test I tried was yet another variation of the powershell command using the -not(HiddenfromAddresslistsEnabled -eq $true) this time and here again Exchange returned the correct user mailboxes
New-DynamicDistributionGroup -Name "test3" -OrganizationalUnit 'mydomain/Distribution Groups' -RecipientContainer mydomain -RecipientFilter { recipienttype -eq 'usermailbox' -and -not(HiddenfromAddresslistsEnabled -eq $true)}
Guess it is just another Exchange 2007 mystery revealed...
Enjoyed the post, what is next?
Grab our FULL RSS feed! or Email Updates then share it
-
Fred M.
-
sleepy

