Reduced a Microsoft 365 estate from 98% to 64% storage utilisation in under 6 months using a PowerShell automation pipeline, Microsoft Graph, SharePoint Online tooling, and Entra ID certificate authentication.
| Metric | Before | After |
|---|---|---|
| Storage used | 32 TB | 21 TB |
| Utilisation | 98% | 64% |
| Version history limit | 500 | 25 |
| External spend | — | £0 |
| Data loss | — | 0 accounts deleted |
Portfolio note: this is a sanitised reconstruction of the project workflow. Organisation names, tenant data, and production scripts are withheld.
Launch the interactive case-study demo
The demo shows the operational flow: tenant scan, version-limit trimming, batch job monitoring, tool inventory, Entra ID setup, documentation, and final report.
Entra ID certificate auth
│
▼
Graph/API storage discovery
│
▼
SharePoint version-limit policy
│
▼
Batch trim jobs + status polling
│
▼
Audit log + before/after report
- PowerShell automation against Microsoft 365 and SharePoint Online.
- Certificate/JWT authentication through Entra ID.
- Batch processing with monitoring and audit logs.
- Practical business impact: cost avoidance, risk control, and measurable storage reduction.
The live demo now separates interactive/delegated PnP setup from unattended app-only certificate automation. The production workflow used the certificate/app-only pattern; tenant identifiers and production scripts remain withheld.
A production-safe source release is not possible because the original scripts touched live tenant data. This repo includes a sanitised example showing the implementation pattern without organisation identifiers or secrets:
scripts/sanitised-storage-report-example.ps1
Apache License 2.0. See LICENSE.