How to set Microsoft 365 Group Calendar members permissions to read only

Just a short, straight to the answer powershell guide to set Microsoft 365 Group Calendar members to read only, meaning only 'owners' of the group can modify events.

Published 2021-04-23


🏃🏽‍♂️🏃🏽‍♀️ The Short Answer

You're in a hurry aye? No dramas...

This post assumes that you have already:

  • Connected to Microsoft 365 with the Powershell Module
  • AND connected to Exchange Online with the Powershell Module

If you've completed these steps, then please go ahead and check out the below instructions.

✅ Turning on Read-Only

Set-UnifiedGroup <Display Name> -CalendarMemberReadOnly
Please note
- That this will come back with a warning stating that the command completed successfully but no settings of 'Display Name' have been modified.
- This is incorrect, the value actually has changed, and you can do this by referring to the 'Checking the value' commmand listed in this post.

⛔ Disabling Read-Only

Set-UnifiedGroup <Display Name> -CalendarMemberReadOnly:$false
Please note
- That this will come back with a warning stating that the command completed successfully but no settings of 'Display Name' have been modified.
- This is incorrect, the value actually has changed, and you can do this by referring to the 'Checking the value' commmand listed in this post.

🔍 Checking The Read-Only Setting

Get-UnifiedGroup <Display Name> -IncludeAllProperties | Select-Object -Property CalendarMemberReadOnly

OR

Get-UnifiedGroup <Display Name> -IncludeAllProperties | Format-List

Here is an example if you want to enable the CalendarMemberReadOnly for a few groups at a time, this is using a hardcoded list of Display Names, however, you could easily combine the -Filter flag on the Get-UnifiedGroup module to dynamically create this list from a property.

$groups = @("Group 1","Group 2","Group 3","Group 4")
for ($i = 0; $i -lt $groups.Count; $i++) {
    Set-UnifiedGroup $groups[$i] -CalendarMemberReadOnly
    Get-UnifiedGroup $groups[$i] -IncludeAllProperties | Select-Object -Property CalendarMemberReadOnly
}

The Long Answer

Reading the Microsoft Documentation... 😭 here are the relevant links that I used for this research:


AuthorChristopher Talke

TopicsMicrosoft 365, Exchange Online and Powershell

Find an issue with this post? Think you could clarify, update or add something? All my posts are available to edit on Github!