How to set Microsoft 365 Group Calendar members permissions to read only
Christopher Talke Buscaino
🏃🏽♂️🏃🏽♀️ 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.
- 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.
- 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: