Key Points
Performing a Light Audit of Microsoft 365 Licenses and Resources
- Review Microsoft 365 Licenses: Regularly review assigned vs. active licenses to reduce wasted spend, reassign unused accounts, and downgrade unnecessary premium subscriptions.
- Mailbox and Shared Account Audit: Identify inactive mailboxes and convert unused accounts into free shared mailboxes.
- Teams and SharePoint Cleanup: Audit inactive Teams, SharePoint sites, and OneDrive storage to prevent digital sprawl, strengthen governance, and keep the tools efficient and secure.
- Business Language Reporting: Translate technical findings into clear financial and operational impacts, for actionable insights that SMB leaders can follow.
- QBR and MSP Value Delivery: Integrate light M365 reviews into Quarterly Business Reviews (QBRs) or renewal discussions to highlight cost savings, strengthen client trust, and demonstrate strategic value.
Microsoft 365 (M365) environments can accumulate unused resources over time, leading to unnecessary costs and complexities, especially for small and mid-sized businesses. For managed service providers (MSPs) to save more and streamline their environments, it’s crucial to perform reviews, even without using costly compliance audit tools. Since Microsoft rebranded Office 365 to Microsoft 365, auditing Office 365 components now directly supports optimizing the entire M365 ecosystem.
Keep reading to learn how to conduct an Office 365 audit of licenses, mailboxes, and other resources with just a simple framework.
Steps to review unused M365 resources
MSPs should follow a clear framework when initiating an M365 license optimization process to ensure all crucial areas are evaluated without requiring too much effort. Break the review down into steps that directly support cost savings, operational efficiency, and stronger security.
📌 Prerequisites:
- Access to the M365 admin center and PowerShell
- Client license and billing information
- A basic report template (such as Excel, Power BI, or NinjaOne Documentation)
- Awareness of client business context (like seasonal accounts, shared mailboxes, compliance needs)
Step 1: Review licensing and user accounts
Evaluating license usage is one of the most critical stages of the process, as licenses are some of the most significant recurring costs for clients, and unused assignments can quickly turn into high costs. You must systematically compare active users with assigned licenses to identify unused Office 365 licenses and uncover immediate savings opportunities.
(A) Check for inactive or disabled accounts still consuming licenses
- Look for departed employee accounts that haven’t been deprovisioned.
- Decide if these accounts should be converted into free shared mailboxes or continue to consume a paid license.
(B) Compare active users to license assignments
- Cross-reference the employee list with active users in M365.
- Pay special attention to contractors, interns, or seasonal workers who may no longer require ongoing access.
(C) Identify opportunities to downgrade or reassign licenses
- Check if users are assigned premium licenses (e.g., E3/E5) but are not using advanced features.
- If appropriate, recommend moving them to a lower-cost license tier.
Deliverable
A license utilization summary showing:
- Total purchased vs. assigned licenses
- Number of unused or reclaimable licenses
- Potential savings (e.g., “Reclaiming 5 E3 licenses saves $900/year”)
Step 2: Audit inactive mailboxes and shared accounts
Unmanaged mailboxes, such as unused personal ones from former employees and shared or role-based accounts that are no longer in use, can quietly consume resources and increase security risk. A light audit allows MSPs to flag these accounts and remove licenses that are no longer used in M365.
(A) Check last login activity
- Use PowerShell or M365 admin center reports to identify mailboxes with no recent logins (e.g., 90+ days).
- Confirm with the client whether these accounts should remain active or can be closed, converted, or archived.
(B) Review shared and role-based accounts
- Validate whether shared mailboxes (e.g., sales@, hr@) are still in use.
- If inactive but still consuming a license, consider converting it to a free shared mailbox license.
(C) Identify disabled user mailboxes
- Some disabled accounts may still have licensed mailboxes attached.
- Ensure that retention or compliance policies are being followed, and reclassify these mailboxes appropriately.
Deliverable
A mailbox activity report documenting:
- Inactive mailboxes and their last login date
- Shared or role-based accounts that are no longer used
- Recommended actions (close, convert to shared, or retain for compliance)
- Potential cost savings from unneeded mailbox licenses
Step 3: Check Teams and SharePoint usage
Inactive Teams or abandoned SharePoint sites can add clutter and create governance and security challenges. Auditing should help you identify where collaboration tools are no longer serving their purpose and make recommendations to clean up or archive stale resources.
(A) Export usage reports from the M365 admin center
Generate reports on Teams and SharePoint activity over the past 90 days, and look for sites or channels with little to no user interaction.
(B) Identify inactive teams
Flag Teams with no chat activity, file uploads, or meetings, then discuss with stakeholders whether these should be archived, consolidated, or deleted.
(C) Review SharePoint and OneDrive sites
Check for sites with no recent file activity or collaboration and abandoned content that may still contain sensitive information.
(D) Consider governance policies
Check if the client has a policy for creating, reviewing, and archiving Teams or SharePoint sites. If not, recommend lightweight governance measures (e.g., annual reviews) to prevent sprawl from recurring.
Deliverable
A collaboration usage inventory with:
- A list of inactive Teams with recommended actions (archive, consolidate, delete)
- SharePoint or OneDrive sites with no activity in 90+ days
- Notes on governance or compliance considerations
Step 4: Document findings in business language
Now that you have technical reports, you must translate them into clear business language that resonates with organization leaders. You want these to highlight why the review matters by focusing on cost, productivity, and business outcomes. This ensures clients can understand the results and see the direct value of your work as an MSP.
(A) Convert technical metrics into financial impact
- Instead of listing unused licenses, state: “3 unused E3 licenses worth $540/year can be reclaimed.”
- Highlight opportunities to reduce costs by pointing out where trimming down resources prevents future overspending.
(B) Show operational benefits
- Reframe inactive Teams or SharePoint sites as governance improvements: “Archiving two inactive Teams simplifies collaboration and reduces employee confusion.”
- Emphasize reduced administrative overhead and faster decision-making as benefits of the cleanup.
(C) Address security and risk
- Phrase inactive accounts as security risks: “Two unused accounts with mailbox access open the group to vulnerabilities and should be removed.”
- This positions cleanup as proactive risk management.
(D) Use client-friendly deliverables
- Summarize findings in a one-page report or slide deck.
- Include a section on savings opportunities and efficiency improvements with bullet points or visuals.
Deliverable
A client-facing light review report providing:
- Plain-language summaries of issues (e.g., unused licenses, inactive accounts, stale collaboration sites)
- Business impact in terms of cost savings, efficiency, and risk reduction
- Clear, actionable recommendations that the client can agree to implement
Step 5: Integrate into QBRs or renewal discussions
Communicate your findings during Quarterly Business Reviews (QBRs) or renewal discussions. This allows you to present cost savings, risk reductions, and efficiency gains in a business-friendly context while also positioning yourself as a proactive partner invested in the client’s success.
(A) Highlight cost savings clearly
- Include reclaimed or downgraded licenses as a specific line item: “$1,200/year in potential savings identified by reclaiming unused E3 licenses.”
- Frame these findings as direct budget optimizations.
(B) Show efficiency improvements
- Emphasize governance benefits such as reduced Teams sprawl or simplified SharePoint navigation.
- Demonstrate how cleanup leads to easier administration and a better user experience.
(C) Support strategic decisions
- Use findings to guide right-sizing projects, license tier adjustments, or migration planning.
- Present recommendations as opportunities for reinvestment in growth initiatives (e.g., security upgrades, collaboration tools).
(D) Embed into QBR materials
- Add a slide summarizing the light review results, with sections for savings, risk reduction, and efficiency gains.
- Use simple visuals (e.g., before vs. after charts or cost comparison tables) to make findings digestible for non-technical stakeholders.
Deliverable
A client-ready summary that includes:
- Identified cost savings with clear dollar values
- Operational and security improvements
- Actionable recommendations for next steps (e.g., reassign licenses, archive Teams, remove inactive mailboxes)
Best practices summary table
Here’s a quick summary of the process, with the purpose of each component and its corresponding purpose and value.
| Component | Purpose | Value to client |
| License review | Identify unused or misaligned licenses | Reduce wasted spend and optimize budgets |
| Mailbox audit | Flag inactive or redundant mailboxes | Minimize clutter, cut costs, and reduce risk |
| Teams or SharePoint check | Review inactive collaboration sites | Improve governance and streamline collaboration |
| Business translation | Convert technical results into business terms | Make findings clear and actionable for SMB leaders |
| QBR integration | Present findings in quarterly reviews or renewals | Build trust, highlight ongoing value, and support strategic decisions |
Why running a light review of unused M365 resources is important
M365 resources can become cluttered as organizations grow, so MSPs need to manage them well to avoid issues. But if they don’t want to do a costly full compliance audit, a simple review process should be enough to reap various benefits, such as:
- Cost optimization: Reclaim or reassign unused licenses, or downgrade license tiers when advanced features aren’t being used.
- Improved manageability: Remove redundancies and abandoned resources to streamline user accounts, Teams, and sites for simpler administration.
- Risk reduction: Reduce exposure by managing forgotten accounts, inactive mailboxes, and unregulated collaboration sites.
- Client value demonstration: Present findings in business terms and build trust by proactively managing client resources and budget.
Automation touchpoint example
Automation can help MSPs reduce manual effort and ensure consistency while performing a light review. Even a simple PowerShell script can be a starting point for identifying unused resources, which can then be validated and translated into business recommendations.
With the MSOnline module now deprecated, the following updated script uses the Microsoft Graph PowerShell SDK, Microsoft’s supported replacement for M365 management and reporting tasks. This script identifies inactive user accounts—helping MSPs quickly flag licenses that can be reclaimed or reassigned.
For example, here’s a PowerShell script that uses Microsoft Graph PowerShell SDK to identify inactive M365 user accounts:
| Install-Module Microsoft.Graph -Scope CurrentUser -Force Import-Module Microsoft.Graph.UsersConnect-MgGraph -Scopes “User.Read.All”,”AuditLog.Read.All”$cutoff = (Get-Date).AddDays(-90) $users = Get-MgUser -All -Property “DisplayName”,”UserPrincipalName”,”SignInActivity” $inactive = $users | Where-Object { $inactive $inactive | Export-Csv -Path “.\Inactive-M365-Users.csv” -NoTypeInformation |
⚠️ Important: To run this script successfully, you must have the Microsoft Graph PowerShell module installed and sign in with an account that has User.Read.All and AuditLog.Read.All permissions (typically a Global or User Administrator). The SignInActivity property may only be available in some tenants or requires using the beta profile (Select-MgProfile -Name “beta”) if it’s not returned by default.
This script connects to Microsoft Graph using secure delegated permissions to collect user activity data. It retrieves all M365 users, checks their most recent sign-in date, filters those who have been inactive for 90+ days (or never signed in), and exports the results to a CSV for easy review and reporting.
Run this during Step 1 to find users with unused licenses and export results to CSV or Excel. You can then confirm with the client whether flagged accounts are truly inactive, as some accounts, such as seasonal employee accounts, may still need to exist. You can also schedule it to run quarterly as part of your recurring M365 light review workflow.
NinjaOne integration
NinjaOne can complement M365 light reviews by providing a central platform for documentation, automation, and client communication. Here’s how NinjaOne supports each stage of the process:
| Integration point | How NinjaOne helps | Value to MSPs and clients |
| Export device or user data | Compare NinjaOne data with M365 reports | Cross-validate usage and spot inconsistencies |
| Documentation templates | Store light review report templates in NinjaOne Docs | Ensure consistency and professionalism across clients |
| Automated reminders | Schedule quarterly M365 review tasks | Build repeatable, proactive review workflows |
| Task tracking | Log remediation items (e.g., reclaim license, convert mailbox) | Provide visibility and accountability for follow-through |
| QBR dashboards | Embed findings and cost savings into QBR views | Showcase ongoing value and strengthen client relationships |
From review to real value
A light M365 review allows MSPs to detect unused resources that can drain budgets, increase complexity, and introduce security risks. This M365 license usage report can offer real value by translating findings into business outcomes, emphasizing cost reductions and efficiency gains. When presented as part of ongoing QBRs, it can be a repeatable and high-impact service that builds trust and demonstrates strategic value.
Related topics:
- How to Prevent Microsoft 365 License Waste with Usage Analytics and Automation
- How to Manage Software Licensing Audits (Adobe, Microsoft) Proactively
- How to Prepare for a Microsoft 365 Security Audit Across Tenants
- How to Backup Microsoft 365 Teams
- Google Workspace vs. Microsoft 365: Which One Is Best for Businesses?
