๐ Recipe ยท SharePoint & OneDrive
Export a List of Teams Meeting Recordings Stored in User OneDrives
Scan every user's OneDrive for Teams meeting recordings and produce a tenant-wide CSV inventory
Complexity
Intermediate
Impact
audit + storage + compliance + reporting + teams
Context
Why This Matters
Why this matters
Since 2021, Microsoft Teams stores meeting recordings in the organizer's OneDrive for Business (for non-channel meetings) under a /Recordings folder. Over time, these .mp4 files accumulate โ consuming storage, creating data-governance exposure (recordings may contain confidential conversations), and making retention/eDiscovery harder to reason about.
There is no built-in admin report in the M365 Admin Center that shows you every Teams recording across every user. This recipe produces that inventory on demand.
Run this when you need to:
- Audit OneDrive storage consumption driven by meeting recordings
- Identify old recordings for retention-policy cleanup
- Respond to legal/eDiscovery requests involving meeting content
- Offboard a user and want to know what recordings they own
- Validate that Teams recording storage policy is working as expected
Expected Outcomes
What you'll have
- A CSV file (
Teams_Recordings_Report.csv) listing every Teams recording found in user OneDrives - For each recording: owner name, owner UPN, file name, folder path, size (MB), created date, and a direct web link
- Coverage of the standard
/Recordingsfolder plus alternate paths (/Documents/Recordings,Microsoft Teams Chat Files) and a drive-wide.mp4search as a fallback - A repeatable process you can schedule weekly or monthly
Risks & Considerations
Watch out for
- Channel meeting recordings are NOT in OneDrive. Those live in the channel's SharePoint document library. This recipe only covers personal OneDrive. Run a separate SharePoint scan if you need full coverage.
- Legacy Stream (classic) recordings created before the 2021 policy change are in Microsoft Stream, not OneDrive. Check Stream separately if you have pre-2021 data.
- Performance: Iterating every user in a large tenant triggers many Graph calls. Expect throttling (HTTP 429) โ the script should back off or you should run it off-hours.
- Privacy: Meeting recordings can contain confidential conversations. Treat the output CSV as sensitive and store it accordingly.
- Not every
.mp4is a Teams recording. The drive-wide fallback search may surface unrelated video files. Review results before acting on them. - Do not delete recordings based on this report without confirming retention requirements with legal/compliance.
Required Permissions
| Permission | Why It's Needed |
|---|---|
| User.Read.All | Enumerate every user in the tenant to iterate their OneDrive |
| Files.Read.All | Read contents of user OneDrive drives to locate recording files |
| Sites.Read.All | Required if you later extend the scan to SharePoint sites for channel recordings |
The fastest way to get this done โ just ask Dex. Copy the prompt below and paste it into your Dex conversation.
For IT Admins
Paste into Dex CoAdmin