S ServerBridge
Lee Crowe Software ↗
Free scan + full Auditor available now

Find the M365 licenses nobody's using.

Recover the spend — in an afternoon.

A free, read-only scan cross-checks every assigned Microsoft 365 license against real activity and shows you exactly which seats are dead weight — and what they cost. Nothing to install in your tenant. The full License Auditor, with a boardroom-ready PDF report and costed recommended actions, is available now.

Install-Module ServerBridge.LicenseScan -Scope CurrentUser
Invoke-LicenseScan
Invoke-OffboardingCheck

Two free commands: unused licenses, and what the leavers still hold · Windows PowerShell 5.1 or PowerShell 7 · or download the signed scripts

How much are you wasting?

Drag to match your tenant. The audit finds the real ones.

Your tenant

100

Total assigned M365 licenses across the tenant.

M365 E3 · $39/mo

Sets the average monthly price per recovered seat. Microsoft list prices from July 1, 2026; you may still pay the old price until renewal.

15%

Your guess — the free scan replaces it with your real figure.

Spend on unused seats, at your estimate

$7,020

per year · 15 reclaimable seats

Your recommended plan $349/yr
Would pay for itself 20.1× at this estimate Get your real number with the free scan

Read-only PowerShell · no app registration · runs in 5 minutes

How it works

Three Graph checks, one dollar figure.

Read your license inventory

Every subscribed SKU and who it's assigned to — pulled straight from Microsoft Graph.

Cross-check real sign-in activity

Match each licensed user against their last sign-in to find dormant and disabled seats.

Put a dollar figure on the waste

Price the dead seats by SKU and total your recoverable spend — with an exportable list.

Read-only, by design

Delegated, least-privilege Graph access. It never changes, removes, or stores anything.

Flat annual price — no per-seat billing

One flat annual price, set by tenant size. Every tier includes the full audit.

Starter

Up to 50 users

$149/yr

billed annually · no auto-renew

  • Full unused-license audit
  • Sign-in activity cross-check (90-day)
  • PDF report you can hand to someone
  • Licensed guests & shared mailboxes, flagged for review
  • Recommended actions, costed by SKU
Buy Starter

Enterprise

300+ users

$799/yr

multi-tenant & custom above 1,000

  • Everything in Team
  • Multi-tenant / CSP roll-up
  • Priority support & onboarding
Buy Enterprise

Every plan starts with a free scan — you see the dollar figure before you pay a cent.

Free scan vs. paid audit

The free scan tells you what's wrong. The audit fixes it — and keeps it fixed.

What you get

Free

Community scan

Read-only PowerShell · as-is

Paid · from $149/yr

License Auditor

Full audit · supported

Total wasted spend — the headline number
Yes
Yes
Unused-license detection
Yes
Yes
Output format
Raw CSV
PDF + CSV report
Recommended actions, costed by SKU
No
Yes
Licensed guests & shared mailboxes, flagged for review
No
Yes
Offboarding: what the leavers still hold
Console + CSV
Team · in the PDF
Scheduled re-audits & drift tracking
No
Team
Multi-tenant / CSP roll-up
No
Enterprise
Support
Community
Included
Same tenant, same read-only sign-in — the paid Auditor just shows you more.

Questions people ask first

Short answers. If yours isn't here, email me.

Does it change anything in my tenant?

No. The free scan and the paid Auditor both use read-only, least-privilege Microsoft Graph permissions. Nothing is created, removed or modified — you act on the findings yourself in the admin center.

Do I need Entra ID P1?

No, but it sharpens the results. With P1 the Auditor reads each user's last sign-in directly. Without it, it falls back to Microsoft 365's usage reports, which are less precise — and if your tenant conceals user names in those reports, it can only flag disabled accounts that still hold a license. Turning that setting off for a single run gives you the full picture.

Does it need an app registration?

Not for a normal run — you sign in with a device code using your own admin account. Scheduled unattended re-audits and multi-tenant roll-ups do use an app registration that you create in your own tenant.

Where does my data go?

Nowhere. The PDF and CSV are written to your own machine, and the tool contains no telemetry or analytics. The only outbound call is the license check on paid tiers. The details are in the privacy policy.

What's actually in the PDF?

Your recoverable spend as a headline figure, the dormant and disabled seats behind it priced by SKU, costed recommended actions, and a review of licensed guests and shared mailboxes. On Team and Enterprise it also shows what changed since the last audit, and an offboarding list of what each leaver still holds. See a sample report.

What do I run it on?

It's a command-line tool for Windows (x64), Linux (x64) and macOS on Apple Silicon. The Windows build is code-signed and the macOS build is signed and notarized.

How is this different from the free scan?

The free PowerShell module gives you two commands and raw CSV: the headline wasted-spend number, and a basic offboarding check. The Auditor adds the PDF report, costed recommendations, scheduled re-audits with drift tracking, a review of licensed guest accounts and shared mailboxes, and the offboarding list in the report itself — per person, with what each one still holds. The table above compares them line by line.

Will it find a shared mailbox nobody uses?

Sometimes — and it tells you when it can't. Mailbox types come from Microsoft's usage report, which only lists mailboxes that have had activity, so a shared mailbox sitting completely untouched doesn't appear in it at all. Its type is reported as unknown rather than guessed. The free PowerShell module can read types straight from Exchange Online instead, which sees every mailbox whether it's been used or not — that's Invoke-OffboardingCheck -UseExchangeOnline, and it needs a second sign-in. The same option is planned for the Auditor.

What if it doesn't find enough to justify the price?

Run the free scan first — you see your number before paying anything. The downloadable licenses are a flat annual price with no auto-renew; the refund policy covers the rest.

Getting help

One person builds and supports this, which cuts both ways: no ticket queue, and no overnight shift either.

Email

hello@leecrowesoftware.com — licensing, billing, refunds, or anything about a paid plan. I usually reply the same working day, and always within two.

A number looks wrong

Open an issue on GitHub — that is where both tools point, and it is public, so the next person with the same question finds the answer. Say whether your tenant has Entra ID P1 or P2; it decides which half of the product ran.

Before you write

Anything the scan printed above the totals usually explains the result — a note about Entra ID P1, a partial audit, or hidden user names in reports. Paste that line in and we will get there faster.

Get your number free — then act on it

Run the read-only scan and see your wasted license spend in minutes. When you're ready to recover it, the paid Auditor adds the PDF report, costed recommended actions and scheduled re-audits.

Install-Module ServerBridge.LicenseScan -Scope CurrentUser
Invoke-LicenseScan
Invoke-OffboardingCheck

Two free commands: unused licenses, and what the leavers still hold · Windows PowerShell 5.1 or PowerShell 7 · or download the signed scripts