Microsoft’s Exchange Team confirmed yesterday that Exchange Online still doesn’t include a native report for resource mailbox utilization—meaning there’s no simple dashboard to see which conference rooms, equipment mailboxes, or bookable workspaces are actually being used. In a blog post published May 21, 2026, the team laid out three DIY approaches: using Exchange Online PowerShell, Microsoft Graph, or mailbox folder statistics to infer activity from calendar data. The guidance is practical, but it also underscores a persistent blind spot in Microsoft 365 administration that forces IT teams to stitch together their own answers for hybrid-work planning.

The Audit Toolkit Microsoft Just Described

Resource mailboxes—rooms, equipment, and workspaces—sit at the intersection of Exchange, Teams, Outlook, and facilities management. Yet the admin center, full of usage dashboards for mail, SharePoint, and Teams, has never offered a comparable view for these objects. The blog post explicitly states there is no built-in “show me active resource mailboxes” report.

Instead, Microsoft suggests three main routes. First, the Exchange Online PowerShell cmdlet Get-CalendarViewDiagnostics returns meetings from a mailbox calendar over a time range you define. Second, Microsoft Graph calendarView endpoint can pull event details including organizer, subject, and duration. Third, Get-MailboxFolderStatistics with the -FolderScope Calendar switch can reveal whether a calendar folder contains any items at all. The team also warns against using Get-CalendarDiagnosticObjects for bulk reporting—it’s designed for troubleshooting individual meetings, not estate-wide analysis.

What Counts as an Active Room?

Before running a single command, you need to define “actively used.” A conference room with one legacy recurring booking might appear active but be functionally abandoned. A training room booked only quarterly might be critical. Microsoft’s examples use a symmetrical six-month window (past and future), but that’s just a starting point.

A smart audit separates mailboxes into clear categories: recent past bookings, future bookings, only old bookings, recurring-only activity, and zero meaningful calendar items. Each points to a different next step—cleanup, policy change, or deeper investigation.

PowerShell: The Fastest Path for a Quick Sweep

If you need an answer by Friday, Exchange Online PowerShell is your friend. The Get-Mailbox cmdlet with -RecipientTypeDetails RoomMailbox (or EquipmentMailbox, WorkspaceMailbox) maps your entire estate in seconds. Piping those results into Get-CalendarViewDiagnostics gives you an event count for each room over your chosen window.

The cmdlet’s strength is speed and simplicity. It doesn’t require Graph permissions or app registrations. The limitation is that it doesn’t expose meeting subjects—just existence. That’s enough for a quick triage: any mailbox with zero meetings for a year and no future bookings is a cleanup candidate.

Microsoft Graph: When You Need the Full Picture

For workplace planning, you need more than an event count. Graph’s calendarView endpoint returns start time, end time, organizer, subject, and other properties. That lets you calculate booked hours, peak days, organizer distribution, and the ratio of recurring to ad-hoc meetings. You can feed the data into Power BI or a facilities dashboard.

The trade-off is setup complexity. Graph requires an Entra ID app registration with appropriate permissions (Calendars.Read or Calendars.ReadBasic). Application permissions allow non-interactive scripts but can be dangerously broad if granted across every mailbox. Microsoft’s guidance leans hard on using Exchange Online Role Based Access Control for Applications to scope access—restricting an app to only resource mailboxes rather than the whole tenant.

The Hidden Danger in Calendar Permissions

Calendar data is sensitive. Meeting subjects can reveal mergers, legal matters, HR issues, or medical information. When you grant an application Calendars.Read for the entire tenant, you’re potentially exposing executive calendars just to audit room usage. The blog post’s recurring theme is permission scoping.

The safest pattern: create a dedicated app registration for resource mailbox reporting, use certificate-based authentication, scope access to a recipient filter that includes only resource mailboxes, and document the management scope. Avoid mixing scoped and unscoped permissions—if the app retains broad Entra ID permissions alongside scoped Exchange RBAC, the practical access may still be wider than you think.

Putting Together a Practical Audit Plan

A two-step process plays to each tool’s strengths. Start with Exchange Online PowerShell to inventory mailboxes and get a quick activity signal. For any room with bookings, move to Graph for richer analysis.

  • Step 1: PowerShell inventory. Use Get-Mailbox to list all Room, Equipment, and Workspace mailboxes. Run Get-CalendarViewDiagnostics with a one-year window. Output display name, SMTP address, type, event count, first/last event dates, and whether future bookings exist.
  • Step 2: Graph deep dive. For mailboxes with activity, query calendarView over a shorter window (e.g., 90 days). Calculate total booked hours, weekday distribution, organizer list, and recurring meeting patterns. Export to CSV or a database for visualization.

This layered approach reduces permission exposure. Not every mailbox needs subject-level detail. If a simple event count rules out half the estate, the Graph query can be limited to the resources that matter.

Beyond the Report: Governance and Cleanup

A script can find activity, but it can’t decide who owns a room or whether a stale mailbox should be deleted. Every resource should have a business owner, a defined purpose, a booking policy, and a lifecycle. If nobody can explain why a mailbox exists, the calendar data is only part of the story.

Be cautious with deletion. Removing a resource mailbox can break future bookings, room panels, Teams Rooms configurations, or third-party scheduling tools. The safer pattern: disable booking, hide from address lists, notify owners, wait through a review period, and then delete. The reporting exercise often exposes governance drift—the mailboxes are just where that drift becomes visible.

Outlook: Will Microsoft Ever Build the Report?

The absence of a native utilization report isn’t a catastrophe, but it’s revealing. Microsoft 365 has become the system of record for how organizations coordinate, yet some of the most practical operational questions still require assembled scripts. Room mailboxes may not headline Ignite keynotes, but they encode how physical space is used—a strategic concern in the hybrid-work era.

A modest built-in view—resource type, event count, last booking, next booking, total booked hours—would save thousands of tenants from reinventing the same scripts. Microsoft’s answer of “here are the building blocks” reflects the broader Microsoft 365 bargain: powerful, but not always polished. Until that changes, the organizations that know their rooms best will be the ones willing to script the truth out of their calendars.