Jump to content

Recommended Posts

Posted

I'm struggling slightly with Office 365.

 

I'm looking to hide the Global Address Lists/Address Lists from students (They only have a personal address book), I understand its to do with Address Book policies, yet because ADP is fairly new in O365 theres little documentation/examples, particularly ones that are relevant.

 

Anyone got a solution or have a good starting point?

 

Thanks in advance!

Posted

The information was posted in another thread but this blog takes you through 99% of the steps and I can confirm that it works

Alumni Address Book Policy in Office 365 Education - UK Education Cloud Blog - Site Home - MSDN Blogs

 

The only step that is not clearly explained is how to set the Address List permission to your account.

If you go into the Exchange Admin Center then Permissions.

Select Organization Management (seemed like the best one to me) and Edit it

In the Roles box, click Add and select Address Lists.

Save and wait a couple of minutes.

 

I choose that Permission group since it's already applied to the main TenantAdmin account that I use to powershell in with.

  • 5 months later...
  • 2 months later...
  • 1 month later...
Posted (edited)

I've just had to do this for a school that we manage. I used the following script:

 

EDIT: One thing to note, this might need breaking into two parts,

 

##This enables customisation of the environment, and needs to be done to allow the rest of this to work

Enable-OrganizationCustomization

 

 

#Address list management isn't a standard permission added, so we need to create a new admin role and add members.

#New-RoleGroup -Name "AddressListManagement" -Roles "Address Lists" -Members '**INSERT ALIAS OF TENANT ADMIN**'

then do Get-PSSession|Remove-PSSession and reconnect to the instance with the same credentials, otherwise the creation of the new GALs will fail due to incorrect permissions.

 

#Now we need to enable seperation of the address books, whilst allowing mail to flow between them

#Set-TransportConfig -AddressBookPolicyRoutingEnabled $true

 

 

#Set a custom attribute field for each student and staff member because Title isn't easily available within the maibox commands

$a = Get-User -Filter '(Title -eq "Student")' #pick a common title if you have one for all student accounts

$a| Set-Mailbox –CustomAttribute1 ”Student” #you can set this to whatever you want, we chose student

 

 

#Do the same for staff

$b = Get-User -Filter '(Title -eq "Staff")' #and same again...

$b| Set-Mailbox –CustomAttribute1 ”Staff”

 

 

#Now we create the two new global address lists and set people into them based on the custom attribute

New-GlobalAddressList -Name Staff -RecipientFilter {((RecipientType -eq "UserMailbox") -and (CustomAttribute1 -eq "Staff"))}

New-GlobalAddressList -Name Students -RecipientFilter {((RecipientType -eq "UserMailbox") -and (CustomAttribute1 -eq "Students"))}

 

 

#Create the two new address lists, one for staff and one for students

New-AddressList -Name "Staff Mailboxes" -RecipientFilter "RecipientType -eq 'UserMailbox' -and CustomAttribute1 -eq 'Staff'" -DisplayName "Staff List"

New-AddressList -Name "Student Mailboxes" -RecipientFilter "RecipientType -eq 'UserMailbox' -and CustomAttribute1 -eq 'Student'" -DisplayName "Student List"

 

 

#Create an offline address book for when they are using the outlook client

New-OfflineAddressBook -Name "Staff.Oab" -AddressLists "Staff"

New-OfflineAddressBook -Name "Student.Oab" -AddressLists "Students"

 

 

#Bring it all into a policy for each group of staff

New-AddressBookPolicy -Name "Staff.Abp" -AddressLists "Staff Mailboxes" -OfflineAddressBook "\Staff.Oab" -GlobalAddressList "\Staff" -RoomList "\All Rooms"

New-AddressBookPolicy -Name "Students.Abp" -AddressLists "Student Mailboxes" -OfflineAddressBook "\Student.Oab" -GlobalAddressList "\Students" -RoomList "\All Rooms"

 

 

#Now set the policy for each account so that it picks up the correct mailbox policy for their group.

Get-Mailbox -Filter '(CustomAttribute1 -eq "Staff")'| Set-Mailbox -AddressBookPolicy "Staff.Abp"

Get-Mailbox -Filter '(CustomAttribute1 -eq "Student")'| Set-Mailbox -AddressBookPolicy "Students.Abp"

 

 

#Added bonus that sets the default time zone when they open Outlook Web Acess for the first time. Not directly part of the request, but makes it easier from a testing perspective to log into the test accounts

$users = Get-Mailbox -ResultSize unlimited -Filter {(RecipientTypeDetails -eq 'UserMailbox')}

$users | %{Set-MailboxRegionalConfiguration $_.Identity -TimeZone "UTC"}

 

I've run it on a test site and it worked, and just running it on a live site now. Might be better to copy and paste a line at a time, in case of any errors (it ran fine once, but second time I got an error on the New-GlobalAddressList cmdlet - which is how I found this thread trying to work out why it failed..

Edited by markh123
  • 2 months later...
Posted

Im trying to create a list for our students. They have the department field populated with student. I am using the below, but its invalid syntax, any ideas please?

 

Thanks

 

New-AddressList -name “Students” -RecipientFilter {(RecipientType -eq ‘UserMailbox’) -and (department -eq “Student”)} –DisplayName “Students”

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...