How to Implement Address Book Policies in Office 365/Exchange 2013/2016 Effectively
How to Implement Address Book Policies in Office 365/Exchange 2013/2016 Effectively – Part 2
How to Implement Address Book Policies in Office 365/Exchange 2013/2016 Effectively – Part 3
Scenario 3: Education
Another Interesting Scenario is Provided in TechNet
Implementing Address Book Policy in a Educational Organizations
Our Criteria would be
Class A Students won’t see Class B Students
Class A Students will see only Class A teachers
Class B Students will see only Class B teachers
Teachers can view all their Co-teachers , only their Class students and the principal
Principal will See , All Teachers and Students , Parents , Almost Everything
Cause he doesn’t want to be restricted
Adding to it
I have, Co-teachers & Principal
Please refer the below link and understand the Scenario1 and Proceed further for a better Understanding
https://www.azure365pro.com/how-to-implement-address-book-policies-in-exchange-2010-sp2-effectively/
Planning for Custom Attributes to meet the above Expectations –
First I would Plan Custom Attributes for the Students –
Segregating ClassA students separately
Customattribute1 = ClassAStudent
As similar – Segregating ClassB students separately
Customattribute2 = ClassBStudent
Now will segregate the Teachers
All the Teachers am going to use – CustomAttribute3 = Teacher
As We know already we need to Create 4 things for Every Address Book Policy,
1. Global Address list
2. Address list
3. Rooms list
4. Offline Address book
Now will Create an Address Book Policy for the ClassA students
Going to Set the Criteria whoever has Customattribute1 = ClassAStudent They will be listed in Class A.
1. Global Address list
Creating a Global Address list
Need Exchange Management Shell to create Global Address list ,
Where users with Custom attribute 1 with value ClassAStudent only will show up
New-GlobalAddresslist "ClassA" –ConditionalCustomAttribute1 "ClassAStudent" –IncludedRecipients "AllRecipients"
2. Address list
New-Addresslist ClassA-AL –ConditionalCustomAttribute1 "ClassAStudent" –IncludedRecipients "AllRecipients"
3. Rooms list
New-AddressList -Name ClassA-Rooms -RecipientFilter {(Alias -ne $null) -and (CustomAttribute1 -eq "ClassAStudent")-and (RecipientDisplayType -eq 'ConferenceRoomMailbox') -or (RecipientDisplayType -eq 'SyncedConferenceRoomMailbox')}
4. Offline Address book
New-OfflineAddressBook –Name ClassA-OAB –Server "Servername" –Addresslists "ClassA"
Now will Create an Address Book Policy –
New-AddressBookPolicy -Name "ClassA-ABP" -GlobalAddressList "\ClassA" –OfflineAddressBook “\ClassA-OAB” -RoomList "\ClassA-Rooms"-AddressLists "\ClassA-AL"
Applied ClassA-ABP for my ClassAStudents
To apply in Bulk for all the Users in a Database
Get-mailbox –Database "ClassA-Database" | set-mailbox –addressbookpolicy ClassA-ABP
Now My Class A Students will See only Class A no one Else
Now Am going to Get the Class A Teacher to Show up
** To remember ** whoever has Customattribute1 = ClassAStudent They will be listed in Class A.
Going to ClassA Teacher and am going to set CustomAttribute1 as ClassAStudent
Going to my ClassAStudent1 OWA for Example – Am Seeing my Teachers,ClassAStudents alone
We need our Principal to be listed here
To recollect again
** To remember ** whoever has Customattribute1 = ClassAStudent They will be listed in Class A.
Applying Customattribute1 for my Principal
Now you can see the principal listed for the Class A Students
Now will Create an Address Book Policy for the ClassB students
Going to Set the Criteria whoever has Customattribute2 = ClassBStudent They will be listed in Class B.
1. Global Address list
Creating a Global Address list
Need Exchange Management Shell to create Global Address list ,
Where users with Custom attribute 1 with value ClassBStudent only will show up
New-GlobalAddresslist "ClassB" –ConditionalCustomAttribute2 "ClassBStudent" –IncludedRecipients "AllRecipients"
2. Address list
New-Addresslist ClassB-AL –ConditionalCustomAttribute2 "ClassBStudent" –IncludedRecipients "AllRecipients"
3. Rooms list
New-AddressList -Name ClassB-Rooms -RecipientFilter {(Alias -ne $null) -and (CustomAttribute2 -eq "ClassBStudent")-and (RecipientDisplayType -eq 'ConferenceRoomMailbox') -or (RecipientDisplayType -eq 'SyncedConferenceRoomMailbox')}
4. Offline Address book
New-OfflineAddressBook –Name ClassB-OAB –Server "Servername" –Addresslists "ClassB"
Now will Create an Address Book Policy –
New-AddressBookPolicy -Name "ClassB-ABP" -GlobalAddressList "\ClassB" –OfflineAddressBook "\ClassB-OAB" -RoomList "\ClassB-Rooms"-AddressLists "\ClassB-AL"
Applied ClassB-ABP for my ClassBStudents
To apply in Bulk for all the Users in a Database
Get-mailbox –Database “ClassB-Database” | set-mailbox –addressbookpolicy ClassB-ABP
Now My Class B Students will See only Class B no one Else
Now Am going to Get the Class B Teacher to Show up
** To remember ** whoever has Customattribute2 = ClassBStudent They will be listed in Class B.
Going to ClassB Teacher and am going to set CustomAttribute2 as ClassBStudent
Going to my ClassBStudent1 OWA for Example – Am Seeing my Teachers,ClassBStudents alone
We need our Principal to be listed here
To recollect again
** To remember ** whoever has Customattribute2 = ClassBStudent They will be listed in Class B.
Applying Customattribute2 for my Principal
Now you can see the principal listed for the Class B Students
Now my Classes are Ready
Now will Create an Address Book Policy for the Class A Teachers
Now my Class A Teachers has to view all the colleagues (All Teachers)
Now my Class A Teachers has to view only ClassA Students
So setting the value like AD objects having value 1 or 3 should be listed for Class A Teachers
Customattribute1 = ClassAStudent or Customattribute3 = Teacher
So they will see All the Teachers as well as ClassAStudents alone
1. Global Address list
Creating a Global Address list
Need Exchange Management Shell to create Global Address list ,
Where users with Custom attribute 1 or 3 only will show up
Customattribute1 = ClassAStudent or Customattribute3 = Teacher
New-GlobalAddressList -Name "TeacherA" -RecipientFilter {(CustomAttribute1 -eq "ClassAStudent") -or (CustomAttribute3 -eq "Teacher")}
2. Address list
New-AddressList -Name "TeacherA-AL" -RecipientFilter {((RecipientType -eq 'UserMailbox') -or (RecipientType -eq "MailUniversalDistributionGroup") -or (RecipientType -eq "DynamicDistributionGroup") -and (CustomAttribute1 -eq "ClassAStudent") -or (CustomAttribute3 -eq "Teacher"))}
3. Rooms list
New-AddressList -Name TeacherA-Rooms -RecipientFilter {(Alias -ne $null) -and (CustomAttribute1 -eq "ClassAStudent") –or (Customattribute3 –eq "Teacher") -and (RecipientDisplayType -eq 'ConferenceRoomMailbox') -or (RecipientDisplayType -eq 'SyncedConferenceRoomMailbox')}
4. Offline Address book
New-OfflineAddressBook –Name TeacherA-OAB –Server “Servername” –Addresslists "TeacherA"
Now will Create an Address Book Policy –
New-AddressBookPolicy -Name "TeacherA-ABP" -GlobalAddressList "\TeacherA" –OfflineAddressBook "\TeacherA-OAB" -RoomList "\TeacherA-Rooms"-AddressLists "\TeacherA-AL”
Applied TeacherA-ABP for my ClassATeachers
To apply in Bulk for all the Users in a Database
Get-mailbox –Database “TeacherA-Database” | set-mailbox –addressbookpolicy TeacherA-ABP
Now My TeacherA will See his ClassAStudents and Co-Teachers (With Customattribute3) and the Principal (with CustomAttribute1)
I hope you got a Better Understanding now
Please redo the Same thing for ClassB Teachers
Now my Class B Teachers has to view all the colleagues (All Teachers)
Now my Class B Teachers has to view only ClassB Students
So setting the value like AD objects having value 2 or 3 should be listed for Class B Teachers
Customattribute2 = ClassBStudent or Customattribute3 = Teacher
So they will see All the Teachers as well as ClassBStudents alone
Copy the Same Commands above and Replace Customattribute1 as Customattribute2 = ClassBstudent
Coming to the Last
By Principal doesn’t need any Address book policy Cause he has to see everything.
Great !
If you Understood the Above scenario
You are the Master in Address Book Policies I swear
Still We have more complex Scenarios but we can accomplish 99% using above !!
How to Implement Address Book Policies in Office 365/Exchange 2013/2016 Effectively
How to Implement Address Book Policies in Office 365/Exchange 2013/2016 Effectively – Part 2
How to Implement Address Book Policies in Office 365/Exchange 2013/2016 Effectively – Part 3
Amazing Doc. Thank you
Thank you incredibly substantially for your exciting text. I have been looking for these types of message to get a definitely very long time. Thank you.
Your welcome Jordan
Dear Satheshwaran,
If I copy the code: New-AddressList -Name TeacherA-Rooms -RecipientFilter {(Alias -ne $null) -and (CustomAttribute1 -eq “ClassAStudent”) –or (Customattribute3 –eq “Teacher”) -and (RecipientDisplayType -eq ‘ConferenceRoomMailbox’) -or (RecipientDisplayType -eq ‘SyncedConferenceRoomMailbox’)}
It says Cannot bind parameter ‘RecipientFilter’
With the code from part 1 (Implement ABP effectively)
New-AddressList -Name ORGA-Rooms -RecipientFilter {(Alias -ne $null) -and (CustomAttribute1 -eq “ORGA”)-and (RecipientDisplayType -eq “ConferenceRoomMailbox”) -or (RecipientDisplayType -eq “SyncedConferenceRoomMailbox”)}
It does not work also.
Copy the code to a notepad . or type it manually . may be a format issue.