EASYENTRA Blog

News & Updates

How to Find Unused Microsoft 365 Groups 

How to Find Unused Microsoft 365 Groups

Microsoft 365 groups are created everywhere. Every new Team, Planner plan, shared mailbox experience, Viva Engage community, or collaboration workspace often creates another group behind the scenes. At first, this isn’t a problem. But after months or years, many organizations discover they have hundreds of Microsoft 365 Groups that nobody uses anymore.

Some groups haven’t seen activity in years. Others belong to employees who left the company long ago. The challenge isn’t deleting groups. It’s confidently identifying which ones are genuinely no longer needed. This guide shows you how to identify unused Microsoft 365 Groups and safely remove unnecessary ones.

Why Unused Microsoft 365 Groups Are a Problem

Microsoft 365 Groups are more than simple distribution lists. Every group can provide access to multiple Microsoft 365 workloads, including: Microsoft Teams, SharePoint Online, Outlook shared mailbox, Planner, OneNote, and Viva Engage. When groups are abandoned, all of these connected resources often remain active as well.

Over time this creates several problems:

  • Thousands of inactive collaboration workspaces clutter your tenant.
  • Users struggle to find the correct Teams or SharePoint sites.
  • Former project data remains accessible long after it should have been archived.
  • Orphaned groups continue existing without anyone responsible for managing them.
  • Administrators spend more time managing unnecessary objects.

Without regular reviews, group sprawl becomes inevitable.

How to Find Unused Groups in Microsoft 365

Unfortunately, Microsoft doesn’t provide a dedicated report that simply answers the question: “Which Microsoft 365 Groups are no longer being used?”

Instead, administrators must piece together information from several different locations, including Microsoft Teams activity, SharePoint usage, Outlook, group ownership, and Microsoft Graph. This fragmented approach makes it difficult to confidently determine whether a group is truly inactive.

There are two common approaches administrators use.

Method 1: Using Microsoft 365 Admin Center

The Microsoft 365 Admin Center provides usage reports that can offer a general overview of group activity.

  1. Sign in to the Microsoft 365 admin center.
  2. Go to Reports > Usage and select Microsoft 365 apps.
  3. Select the Groups activity tab. Review metrics for Total groups, Active groups, and Last activity date.

These reports can help identify groups that appear inactive, but they don’t provide the full picture. For example, the reports don’t clearly indicate whether a group still has active owners, whether its membership has been maintained, or whether connected workloads like SharePoint or Planner are still being used.

For smaller environments this may be manageable, but in larger organizations with hundreds or thousands of groups, the process quickly becomes time-consuming. Because there’s no single “Unused Groups” report, many organizations postpone cleanup indefinitely simply because the risk of accidentally deleting an active collaboration workspace feels too high.

Method 2: Use PowerShell to Find Empty Groups

To bypass the limitations of the admin interface, we can turn to the Microsoft Graph PowerShell SDK. By combining multiple administrative signals, we can accurately pinpoint which groups are abandoned or inactive.

First, connect to Microsoft Graph with permissions to read group and directory information. The following script retrieves every Microsoft 365 Group in the tenant, determines whether it has an owner, checks its renewal date, and assigns a status that helps identify potentially abandoned groups.

# 1. Connect fresh (just to be safe)
Connect-MgGraph -Scopes "Group.Read.All", "Directory.Read.All"
# 2. Set up variables
$180DaysAgo = (Get-Date).AddDays(-180)
$GroupReport = @()
Write-Host "Fetching all groups from your tenant..." -ForegroundColor Cyan
# We grab the groups first without any upfront filtering to prevent data loss
$AllGroups = Get-MgGroup -All
Write-Host "Analysing group details..." -ForegroundColor Cyan
foreach ($Group in $AllGroups) {
    # Check if it is a Microsoft 365 Group (Unified) using a safer match rule
    $IsM365Group = $Group.GroupTypes -match "Unified"
    if (-not $IsM365Group) {
         continue # Skip Security Groups or Distribution Lists
    }
    # Count the owners safely
    $OwnerCount = 0
    try {
        $OwnerCount = (Get-MgGroupOwner -GroupId $Group.Id -ErrorAction SilentlyContinue).Count
    } catch {
        $OwnerCount = 0
    }
    # Figure out the group status safely
    $Status = "Active"
    
    # If the date is missing or blank, we flag it for safety
    if ($null -eq $Group.RenewedDateTime) {
        $Status = "Unknown Activity (No Date Tracked)"
    } elseif ($Group.RenewedDateTime -lt $180DaysAgo) {
        $Status = "Inactive (Over 180 Days)"
    }
    if ($OwnerCount -eq 0) {
        $Status = "Orphaned (No Owner)"
    }
    if (($null -ne $Group.RenewedDateTime) -and ($Group.RenewedDateTime -lt $180DaysAgo) -and ($OwnerCount -eq 0)) {
        $Status = "Critical: Inactive & Orphaned"
    }
    # Put the data together
    $GroupData = [PSCustomObject]@{
        GroupName       = $Group.DisplayName
        GroupId         = $Group.Id
        CreatedDate     = $Group.CreatedDateTime
        LastRenewedDate = $Group.RenewedDateTime
        OwnerCount      = $OwnerCount
        Status          = $Status
    }
    $GroupReport += $GroupData
}
# 3. Save the file to your Desktop
$ReportPath = "$env:USERPROFILE\Desktop\M365_Group_Sprawl_Report.csv"
$GroupReport | Export-Csv -Path $ReportPath -NoTypeInformation
Write-Host "Success! Your sprawl report is saved to: $ReportPath" -ForegroundColor Green

The exported report gives administrators a much clearer overview of which groups deserve attention. Rather than immediately deleting anything, it provides a shortlist of groups that can be reviewed with business owners before cleanup begins.

Export Unused Microsoft Groups Report

The generated CSV includes several useful properties that help assess whether a group is still relevant.

Export Unused Microsoft Groups Report

Group Name identifies the Microsoft 365 Group.

Created Date shows how long the group has existed.

Last Renewed Date indicates the most recent renewal activity recorded for the group.

Owner Count reveals whether anyone is still responsible for managing the group.

Status summarizes the overall health of the group using categories such as Active, Inactive, Orphaned, or Critical.

It’s worth remembering that an inactive group isn’t automatically safe to delete. Some groups support annual events, compliance requirements, or long-running projects that naturally have long periods of inactivity. Likewise, renewal dates don’t always reflect actual user activity across every connected workload.

Instead of treating the report as a deletion list, think of it as a governance report. It helps narrow thousands of groups down to a manageable list that can be reviewed with department owners before any cleanup takes place!

 

Free 30-minute demo

try 30 days for free

GET EASYENTRA NEWS

Opt out at any time

“One of the best products I've used.”
Gary Shurland
Chief Information Officer, Mirick, United States
“This tool has been invaluable in streamlining our IT processes.”
Tyson Mckay
Chief Information Officer, Southwest Network, United States
“This product has been a miracle for our Help Desk. EasyEntra has completely transformed how we handle Microsoft 365 administration.”
Doug Sanders
Manager of Technical Customer Support, Junior Achievement USA, United States
“Your product is such a time saver. I love it!”
Scott Fehr
IT Infrastructure, MEC Aerial Work Platforms, United States
“It's a good product and saves us lots of time for these ongoing quick admin tasks.” 
Chris McFerran
Managing Director, CTech IT Solutions Ltd, United Kingdom
“EasyEntra has significantly streamlined our workflow, simplifying everything. It feels almost like a revolution.”
Johan Sadelius
IT-chef, Arjeplog Kommun, Sweden
I greatly appreciate your assistance and willingness to enhance the already outstanding product.”
Michael I. Wilson
Executive Director of Information Technology, Archdiocese Of Washington, United States
“It's great not having to switch back and forth between the O365 admin center and the Teams admin center to assign groups. I am sold!”
Thomas Madden
Director Information Technology, AutoPayPlus, United States
“I would highly recommend organizations use the solution as it greatly simplifies various tasks.”
S. Roger Singh
Chief Technology Officer, Prasad & Company LLP, Canada
“EasyEntra is time-saving. Love the copy/paste for user/computer groups and the copy to new user.”
Damian Nita
Associate Network Administrator, Shenandoah Valley Westminster-Canterbury, United States
“EasyEntra has transformed our daily IT operations by simplifying user management, reducing errors, and enhancing overall efficiency.”
Henrik Nefling
IT- and Digitalization Manager, Animal Protection Denmark, Denmark