In Microsoft 365, you only see the availability status on every room mailbox by default. However, many organizations want users to see more details of the room mailbox, such as the organizer, subject, and location. In this article, you will learn how to show the Microsoft 365 room mailbox meeting details.
Table of contents
Room mailbox calendar settings
Users should always add the room mailbox to their calendar to see the room bookings. Once added, they will see the room mailbox calendar, which only shows if the room is busy or free (this is by default).
There are two different roles to show the Calendar folder:
- AvailabilityOnly: View only availability data (default)
- LimitedDetails: View availability data with subject and location
The screenshot below shows the default room mailbox calendar set to Availability Only. It will only show whether the room is Free or Busy.
Clik here to view.

Step 1. Connect to Exchange Online PowerShell
To run the PowerShell commands specified in the current article, you will need to Connect to Exchange Online PowerShell.
Start Windows PowerShell as administrator and run the cmdlet Connect-ExchangeOnline.
Connect-ExchangeOnline
Step 2. Set Microsoft 365 room mailbox meeting details
Change the room mailbox meeting details for a single room mailbox following these steps:
- Specify the room mailbox in line 1
- Run the PowerShell script
$mailbox = "Room03@m365info.com"
$folder = (Get-MailboxFolderStatistics -Identity "$($mailbox)" | Where-Object { $_.FolderType -eq "Calendar" }).Name
Set-MailBoxFolderPermission "$($mailbox):\$($folder)" -AccessRights LimitedDetails -User "Default"
Set-CalendarProcessing "$mailbox" -AddOrganizerToSubject $true -DeleteComments $false -DeleteSubject $false
Note: Only when you create a new room event or edit an event will you see the subject of the room.
If you want to roll back the changes to the default settings for a single mailbox, follow these steps:
- Specify the room mailbox in line 1
- Run the PowerShell script
$mailbox = "Room03@m365info.com"
$folder = (Get-MailboxFolderStatistics -Identity "$($mailbox)" | Where-Object { $_.FolderType -eq "Calendar" }).Name
Set-MailBoxFolderPermission "$($mailbox):\$($folder)" -AccessRights AvailabilityOnly -User "Default"
Set-CalendarProcessing "$mailbox" -AddOrganizerToSubject $true -DeleteComments $true -DeleteSubject $true
Change the room mailbox meeting details for all room mailboxes using the PowerShell script below.
# Retrieve all room mailboxes
$mailboxes = Get-Mailbox -Filter '(RecipientTypeDetails -eq "RoomMailbox")' -ResultSize Unlimited
# Loop through each room mailbox
foreach ($mailbox in $mailboxes) {
# Get the Calendar folder for the current mailbox
$folder = (Get-MailboxFolderStatistics -Identity $mailbox.Identity | Where-Object { $_.FolderType -eq "Calendar" }).Name
# If the Calendar folder exists, set the permissions
if ($folder) {
# Set permissions for the Calendar folder
Set-MailboxFolderPermission -Identity "$($mailbox.Identity):\$folder" -User "Default" -AccessRights LimitedDetails
Set-CalendarProcessing -Identity $mailbox.Identity -AddOrganizerToSubject $true -DeleteComments $false -DeleteSubject $false
Write-Host "Set permissions for $($mailbox.UserPrincipalName)" -ForegroundColor Green
}
else {
Write-Host "Calendar folder not found for $($mailbox.UserPrincipalName)" -ForegroundColor Red
}
}
If you want to roll back the changes to the default settings for all the room mailboxes, run the PowerShell script below.
# Retrieve all room mailboxes
$mailboxes = Get-Mailbox -Filter '(RecipientTypeDetails -eq "RoomMailbox")' -ResultSize Unlimited
# Loop through each room mailbox
foreach ($mailbox in $mailboxes) {
# Get the Calendar folder for the current mailbox
$folder = (Get-MailboxFolderStatistics -Identity $mailbox.Identity | Where-Object { $_.FolderType -eq "Calendar" }).Name
# If the Calendar folder exists, set the permissions
if ($folder) {
# Set permissions for the Calendar folder
Set-MailboxFolderPermission -Identity "$($mailbox.Identity):\$folder" -User "Default" -AccessRights AvailabilityOnly
Set-CalendarProcessing -Identity $mailbox.Identity -AddOrganizerToSubject $true -DeleteComments $true -DeleteSubject $true
Write-Host "Set permissions for $($mailbox.UserPrincipalName)" -ForegroundColor Green
}
else {
Write-Host "Calendar folder not found for $($mailbox.UserPrincipalName)" -ForegroundColor Red
}
}
It will set the default settings for all the room mailboxes.
Set permissions for Room01@m365info.com
Set permissions for Room02@m365info.com
Set permissions for Room03@m365info.com
Set permissions for Room04@m365info.com
Step 3. Verify Microsoft 365 room mailbox meeting details
To export the room mailbox calendar permissions, you must run the PowerShell script, following these steps:
- Create the folders Temp and Scripts in the (C:) drive if you don’t have them already
- Download the Export-RoomCalPerms.ps1 PowerShell script
- Or copy the script below into Notepad and save it as Export-RoomCalPerms.ps1 file
# CSV file export path
$Csvfile = "C:\temp\RoomMailboxCalendarPerms.csv"
# Get all mailboxes
$mailboxes = Get-Mailbox -Filter '(RecipientTypeDetails -eq "RoomMailbox")' -ResultSize Unlimited | Select-Object UserPrincipalName, DisplayName
# Count the total number of mailboxes
$totalMailboxes = $mailboxes.Count
$currentMailboxIndex = 0
# Initialize a List to store the results
$Report = [System.Collections.Generic.List[Object]]::new()
foreach ($mailbox in $mailboxes) {
$currentMailboxIndex++
# Update the progress bar
$progressParams = @{
Activity = "Processing Mailboxes"
Status = "Processing mailbox $currentMailboxIndex of $totalMailboxes ($($mailbox.UserPrincipalName))"
PercentComplete = ($currentMailboxIndex / $totalMailboxes) * 100
}
Write-Progress @progressParams
# Get Calendar Processing settings for the current mailbox
$calendarProcessing = Get-CalendarProcessing -Identity $mailbox.UserPrincipalName | Select-Object AddOrganizerToSubject, DeleteComments, DeleteSubject
# Get the Calendar folder for the current mailbox
$folder = (Get-MailboxFolderStatistics -Identity $mailbox.UserPrincipalName | Where-Object { $_.FolderType -eq "Calendar" }).Name
if ($folder) {
# Get permissions for the Calendar folder
$permissions = Get-MailboxFolderPermission "$($mailbox.UserPrincipalName):\$($folder)" | Select-Object FolderName, User, AccessRights
# Add the permissions to the array with user principal name, display name, and calendar processing settings
$permissions | ForEach-Object {
$ReportLine = [PSCustomObject]@{
UserPrincipalName = $mailbox.UserPrincipalName
DisplayName = $mailbox.DisplayName
FolderName = $_.FolderName
User = $_.User
AccessRights = $_.AccessRights
AddOrganizerToSubject = $calendarProcessing.AddOrganizerToSubject
DeleteComments = $calendarProcessing.DeleteComments
DeleteSubject = $calendarProcessing.DeleteSubject
}
# Add the report line to the List
$Report.Add($ReportLine)
}
}
}
# Clear progress bar
Write-Progress -Activity "Processing Room Mailboxes" -Completed
# Display the results
$Report | Out-GridView -Title "Room Mailbox Calendar Permissions"
$Report | Export-Csv -Path $Csvfile -NoTypeInformation -Encoding utf8
- The PowerShell script will show a list of the room mailbox information in an Out-GridView
Clik here to view.

- The PowerShell script will also export the room mailbox calendar permissions to a CSV file in the C:\temp folder
- Open the CSV file with an application like Microsoft Excel to see the results
Clik here to view.

After you set the room mailbox calendar to Limited Details, it will automatically show the organizer and room location. In our example below, we edited one event, and it immediately shows the organizer, subject, and location.
Note: It will automatically show the organizer, subject, and location when you add a new room event. The rooms you already booked will not change automatically, but only if you edit them.
Clik here to view.

That’s it!
Read more: Export Microsoft 365 calendar permissions with PowerShell »
Conclusion
You learned how to show Microsoft 365 room mailbox meeting details. The default settings of a room mailbox calendar are set to Availability Only, which shows if the room is free or busy. To see all the room mailbox meeting details, such as the organizer, subject, and location, you must change the calendar settings with PowerShell.
Did you enjoy this article? You may also like Manage Room Mailbox with PowerShell. Don’t forget to follow us and share this article.