In Exchange there is a single Global Address List that contains all the mail objects in the organization. Always Hot Café has three locations in the following cities: New York and Austin.
The management wants the workers at those locations to see only each other in the Global Address List. Furthermore, they want a separate list that contains all the New York team members only.
To achieve their goals, we need to create a new Global Address Policy, and assign that policy to the users. Remember, there can be many policies configured, and each user can have the desired policy assigned.
Create GAL that includes only NY, LA and Austin members
First, we start off with the new Global Address Book. It is called "Only NY-LA-Austin GAL" and contains only user mailboxes that have their office properties set to either NY, LA or Austin.
New-GlobalAddressList -Name "Only NY-LA-Austin GAL" -RecipientFilter {(RecipientType -eq 'UserMailbox') -and ((Office -eq 'New York') -or (Office -eq 'Los Angeles') -or (Office -eq 'Austin'))} Update-GlobalAddressList "Only NY-LA-Austin GAL"
Create corresponding OAB for the new GAL
Offline Address Books allow users in cached Exchange mode to store address list information while they are disconnected from the Exchange severs. We include the new GAL in this offline address list, as this list will be assigned to the Café workers.
New-OfflineAddressBook -Name "Only NY-LA-Austin OAB" -AddressLists "Only NY-LA-Austin GAL" Update-OfflineAddressBook "Only NY-LA-Austin OAB"
Address List
Next, we create a separate list that will contain all users who's office is New York.
New-AddressList -Name "New York Team" -RecipientFilter {((RecipientType -eq 'UserMailbox') -and (Office -eq 'New York'))} Update-AddressList "New York Team"
Create a new Address Policy for all New York, Los Angeles and Austin users
We got to the core step, creating a new policy that contians the GAL, OAB and address lists the users will see who get the policy assigned to.
New-AddressBookPolicy -Name "Only NY-LA-Austin ABP" -GlobalAddressList "Only NY-LA-Austin GAL" -OfflineAddressBook "Only NY-LA-Austin OAB" -AddressLists "All Users" -RoomList "All Rooms"
Assign the new policy to users
Lastly, assign the policy to the users.
# Assign the new ABP to user Alice Set-Mailbox alice -AddressBookPolicy "Only NY-LA-Austin ABP" # Assign the new ABP to all New York workers Get-Mailbox -Filter {Office -like "New York"} -ResultSize unlimited | Set-Mailbox -AddressBookPolicy "Only NY-LA-Austin ABP"
Check out how Alice sees the Global Address List now. She cannot tell that her GAL is a custom one - called "Only NY-LA-Austin GAL" - but as shown, she only has New York, LA and Austin based users in her main list, just as it is expected.
View Address List Recipients using the shell
Here's an easy way to tell which users are included in an address list, the same command can be used to query members of a global address list too.
$AL = Get-AddressList -Identity "New York Team" Get-Recipient -ResultSize unlimited -RecipientPreviewFilter $AL.RecipientFilter
Comments