May 23, 2023

Get Office 365 Room Mailbox Usage Statistics Using PowerShell

by Thiraviam

5 min read

No Comments

Microsoft 365 room mailboxes serve as valuable resource mailboxes connected to physical locations! To explain more clearly, a room mailbox in Office 365 is a type of resource mailbox associated with a physical location, indicating spaces like conference rooms or shared workspaces. Moreover, it is used to manage the scheduling and booking of the room for meetings and other events.

Monitoring and managing room mailboxes play a crucial role in ensuring smooth planning and allocation of meeting rooms within an organization. Therefore, Office 365 admins often require usage reports to gain valuable insights into the utilization of these rooms. As I have said, monitoring room mailboxes is imperative as it enhances user experience, optimizes resources, and helps to efficiently plan room capacities. In this regard, let’s delve into the process of generating comprehensive room mailbox usage statistics using PowerShell.

Ways to Check Office 365 Room Mailbox Usage Report

Monitoring the room mailboxes in Microsoft 365 helps admins make informed decisions and implement necessary improvements that positively impact meeting room management throughout the organization. Moreover, you can get the room mailbox usage report with the help of the following methods.

View Calendar Information of Room Mailboxes:

So, to obtain Exchange Online meeting room statistics, any user with delegate permission can access the Outlook calendar of the respective room mailbox and view the information. But it is impossible to view all the meeting room utilization reports at one time.

View Calendar Information of Room Mailboxes Using Outlook Calendar

Get Room Mailbox Usage Using PowerShell:

You can get the room mailbox usage statistics using the Get-MailboxStatistics and Get-MgUserEvent cmdlets. Executing the above cmdlets can provide details like, meeting duration, meeting ID, start and end time, and some miscellaneous of the respective meetings. However, multiple formatting is typically required to obtain different report formats, which can be time-consuming!

Therefore, to overcome the limitations of Outlook calendar and PowerShell, we have prepared a PowerShell script that provides valuable insights into meeting room usage. So, let’s look into the script’s details, explore its features, and optimize your organization’s meeting room allocation like never before!

Download Script: RoomMailBoxUsageReport.ps1

Script Highlights

  • Automatically installs the MS Graph PowerShell module upon your confirmation when it is not available on your machine.
  • Also, you can execute this script with certificate-based authentication (CBA).
  • You can execute the script with an MFA-enabled account too.
  • Helps to filter details about online meetings alone.
  • Gets meetings details by organizers.
  • Helps to identify meeting scheduled for today.
  • Further, this script is scheduler-friendly! Therefore, you can automate the report generation easily.
  • The script generates 2 output file, one with detailed info and another with summary info.

Get Exchange Online Meeting Room Statistics – Script Execution

Using the simple execution format below, you can quickly get the Office 365 meeting room usage report for the last 30 days. Therefore, to run this script, you can choose any of the methods below.

Method 1: You can use the method below to run the script with both MFA & non-MFA accounts.

Note: You need to connect with an admin account which has delegated full access to all the room mailboxes in your Office 365 tenant. This script will only generate reports associated with room mailboxes having delegate access to the connected admin account.

Method 2: Also, you can execute this script using certificate-based authentication, as mentioned below.

Note: But if you prefer not to invest in CA certificates, you can generate self-signed certificates for internal and testing purposes. You can refer to the “Connect MS Graph with Certificates” blog in order to register and obtain certificates for an Azure app.

Point to Remember: Your app must have the Place.Read.All, User.Read.All and Calendars.Read permissions to execute the script.

Microsoft 365 Room Mailbox Usage Statistics Sample Output

The exported report will look similar to below screenshots.

Exchange Online Meeting Room Usage Statistics Report:

The detailed meeting room usage statistics report provides the following attributes.

  • Room Name
  • Organizer Email
  • Meeting Subject (Name)
  • Meeting Start Date Time
  • Meeting End Date Time
  • Meeting Duration
  • Meeting Time Zone
  • Participants List
  • Required Attendees
  • Optional Attendees
  • Total Participants Counts
  • Is Online Meeting
  • Is All Day Meeting

Office 365 Room Mailbox Usage Report

Note: In this report, the “Subject” field displays the name of the organizer instead of the event name. This is a known issue from Microsoft, and it is expected that they will fix it in the near future.

Room Mailbox Usage Summary Report:

The summary report provides usage information for individual room mailboxes over the last 30 days. It includes the following details.

  • Meeting Room Name
  • Total Meeting Count
  • Online meeting usage
  • Usage Duration (Busy hours)
  • No. of All Day Meetings

Office 365 Room Mailbox Summary Report


Get More Granular Room Mailbox Usage Report:

With this script, you can export more granular reports by using in-built filtering params listed below.

  • OnlineMeetingOnly
  • OrgEmailId
  • ShowTodaysMeetingsOnly

We have listed below a few significant reports. By combining parameters, you can generate more granular and detailed usage reports.

Get Room Mailbox Occupancy Details on Online Meetings:

To generate usage report on online meetings, execute the script using -OnlineMeetingOnly switch parameter as follows.

The exported report will contain detailed information about online meetings that occurred in the past 30 days.

Track Meetings by Organizer:

To get a list of meetings organized by a specific organizer, run the script by passing organizer email id in the -OrgEmailId parameter.

The above example exports all the events organized by John in the last 30 days.

Identify Scheduled Meetings and Room Availability for Today:

To identify scheduled events for today and their details like meeting room name, participants list, duration, etc., execute the script with –ShowTodaysMeetingsOnly switch param.

Analyzing this report in a large corporate office allows for data-driven decision-making by identifying meeting rooms usage for various meetings.

AdminDroid: Essential Tool to Get Detailed Overview About Office 365 Mailboxes

Despite the EAC’s inability to provide insightful statistics about room mailbox usage, the PowerShell script emerged as a lifesaver. But why stop there? Take your reporting capabilities to the next level with AdminDroid Microsoft 365 reporting tool. The Office 365 mailbox reports provides insightful reports on top room mailboxes, storage quota, with filter-based customization and stunning charts.

Get started now and streamline your Exchange Online management, all without the hassle of complex scripting! Start using the AdminDroid Exchange Online reporting tool to experience the advanced reports to monitor mailbox activities, mailbox settings, email message settings, etc. Enjoy the following list of reports, and ease with AdminDroid.

  • Mailbox Info
  • Shared Mailbox Info
  • Mailbox Usage
  • Achieved Mailboxes
  • Inactive Mailboxes
  • Mailbox Permissions
  • Mailbox Forwarding
  • Mailbox Settings
  • Exchange Groups
  • Mailboxes on Hold
  • Mailbox Access
  • Mailbox Activities
  • Mailbox Management
  • Mailbox Permission Changes
  • Public Folder Audit
  • Advanced Threat Protection
  • Data Loss Prevention

Microsoft 365 All Mailboxes Info Report in AdminDroid

Mailbox Size Over Time Report in AdminDroid

Moreover, the AdminDroid Exchange Online management tool provides 170+ Exchange Online reports that give a complete overview of Microsoft 365 mailboxes. Such reports are info on inactive mailboxes, mailbox usage, permissions, forwarding configurations, Exchange settings, etc.

Supercharge your Office 365 insights with AdminDroid Microsoft 365 reporting tool over 1800+ comprehensive reports and 30+ visually stunning dashboards. Dive into the depths of your Office 365 environment with reporting, auditing, analytics, usage statistics, security & compliance, etc. Download the Office 365 reporting tool by AdminDroid and see how it helps you.

To conclude, we hope this blog has given you a comprehensive understanding of obtaining Room mailbox usage statistics using a PowerShell script. Please feel free to ask any questions in the comments section.

Share article