Scripts · PowerShell

Get-TeamsUserActivityReport

Export detailed Microsoft Teams user activity for all users or a targeted CSV list through Microsoft Graph.

View on GitHub

What it is

A PowerShell report that calls Microsoft Graph directly with application permissions and exports detailed Teams activity for all or selected users.

Why use it

  • Report meetings, calls, chats, durations, and other Teams activity metrics.
  • Target a pilot group with a UPN CSV or report across the tenant.
  • Run as an authorized background process without the Microsoft.Graph PowerShell module.

How to use it

Create an Entra app registration with Reports.Read.All application permission and a client secret. Run ./Get-TeamsUserActivityReport.ps1 -Period "D7" for all users, or add -UserCsvPath with a CSV containing UserPrincipalName.

Prerequisites

  • PowerShell 5.1 or later
  • Entra app registration
  • Reports.Read.All application permission with admin consent