I’ve spent more late nights than I probably should have working on a tool that I hope other M365 admins will find useful.

I’ve built an automated M365 license usage report I’m calling LicenseLens. I won’t go into too much detail here, as I’ve already written a decent amount of information in the repository:

👉 Github m365-license-lens

The goal of the tool is simple: to provide admins with better analytics on M365 license usage.

Microsoft seem to be shifting licensing away from the Entra portal and focusing more on the M365 Admin portal, which only gets you so far, especially when you’re dealing with large volumes of seats and group-based assignments, I believed it necessary to build something more flexible.

Like most admins, I had a bunch of PowerShell scripts that I would run ad-hoc to pull data when needed. But that often led to slightly tweaked versions of the same script floating around just to get different slices of info. That’s when I decided to try building something a bit more robust (it probably isn’t that robust, but I’m open to feedback!).

The tool scrapes the Graph API for license data, stores it in an MS SQL database, and from there, it can be queried with Power BI for more advanced analytics.

Having a script that runs on an automated schedule and publishes data to Power Bi data source means that I can stop constantly tweaking scripts and instead focus on creating different views and dashboards. The report included is fairly generic and meant only as a starting point, it can definitely be extended well beyond the current views. The idea is to give admins the flexibility to create reports that make sense in their own organizational context.

I’m more than happy to take feedback or suggestions if anyone ends up using the tool and finds it helpful.

spider-man meme

You can see more examples of the tool here:

github