Hey folks! I'm currently tackling a project aimed at trimming down unnecessary licensing costs in our Microsoft 365 environment. We've accumulated a lot of inactive mailboxes due to employee departures and role changes, but their licenses still linger, causing unnecessary expenses. I'm looking for effective ways to identify these licensed yet unused mailboxes. Specifically, what parameters or activity metrics would you suggest for defining a mailbox as "inactive"? For instance, I'm considering factors like last login date, email activity, and usage in other Microsoft apps like Teams or SharePoint. Also, what tools or APIs should I use to gather this data? I'm thinking about using Microsoft Graph API, PowerShell (ExchangeOnline, MSOnline, Entra), or other reliable solutions. Any advice, experiences, or script examples would be hugely appreciated. Thanks!
1 Answer
I find it effective to focus on active employment status first, and then make exceptions based on specific access needs. If someone still needs access to a mailbox, consider converting it into a shared mailbox for easier management and delegation. This way, you're adjusting licenses smartly and avoiding unnecessary costs in the long run.
That sounds sensible, but with about 3,000 mailboxes in the mix, relying on HR's lists can lead to inaccuracies. Manual cross-referencing is likely going to be a nightmare when you’ve got so many! I’m aiming for a fully automated approach based on real data, not just what HR provides.