A PowerShell-based Microsoft 365 tenant auditing project that connects to a live lab tenant through Microsoft Graph, inventories Entra ID users, exports audit data, and generates a browser-viewable HTML report.
This project demonstrates a practical Microsoft 365 operations workflow: prepare PowerShell modules, authenticate to Microsoft Graph, query tenant objects, export audit data, and convert the results into a readable HTML report.
Version 1 focuses on Microsoft Graph PowerShell and Entra ID user inventory. The report exports a CSV and a basic HTML view from live tenant data.
Shows how a support or cloud admin can quickly audit tenant identity objects, generate documentation, and package the results for review.
Designed to support Microsoft 365 Administrator, IT Support Specialist, Endpoint Administrator, and Cloud Support career paths.
The workflow follows a simple enterprise pattern: connect, query, export, report, and document.
Created a dedicated GitHub project and cloned it into VS Code.
Installed Microsoft Graph and Exchange Online PowerShell modules for Microsoft 365 administration.
Connected to the Microsoft 365 tenant using delegated Graph permissions.
Queried organization and user objects, then exported CSV and HTML reporting artifacts.
Install-Module Microsoft.Graph -Scope CurrentUser Install-Module ExchangeOnlineManagement -Scope CurrentUser Connect-MgGraph -Scopes "User.Read.All","Directory.Read.All","Organization.Read.All" Get-MgOrganization Get-MgUser | Select-Object DisplayName, UserPrincipalName Get-MgUser | Select-Object DisplayName, UserPrincipalName | Export-Csv users-report.csv -NoTypeInformation Get-MgUser | ConvertTo-Html DisplayName,UserPrincipalName -Title "M365 Tenant Audit" | Out-File tenant-report.html
Selected screenshots are cropped and organized to show the meaningful proof points without unnecessary desktop clutter.
Version 1 proves the connection and reporting pipeline. The next versions can add security posture, mail flow, endpoint, and compliance checks.