Microsoft Graph & Intune Deep Dive Series — Part 3

Create a Full Intune Dashboard with PowerShell & Microsoft Graph API

In this final part of the series, we move from exploration to visualization , building a complete Intune Dashboard that consolidates all the essential device metrics your IT and security teams need.

While the first two parts covered :

  • App registration, authentication, and device management with Graph API
  • Reporting and monitoring with advanced PowerShell queries

👉 Part 3 ties everything together into a single automated report that transforms raw Intune data into a dynamic HTML dashboard with real-time statistics and charts.

🧩 What This Script Does

The script uses Microsoft Graph API (via an Azure AD App Registration) to securely connect to Intune and retrieve data about all managed devices.
It then automatically generates a web-based dashboard using the PSWriteHTML PowerShell module.

The result:
A clean, visual report that can be opened in any browser, showing compliance, security, and inventory insights — like this 👇

📊 (see sample dashboard screenshot below)

Key Metrics Included

The dashboard provides both high-level KPIs and detailed analytics across multiple areas:

🔹 Device Overview

  • Total number of managed devices
  • Devices by platform (Windows, iOS, Android, Linux)
  • Inactive devices for more than 30 days
  • Devices with low storage (<100 GB)

🔹 Security & Compliance

  • Antivirus status (enabled/disabled)
  • Compliance rate across all devices
  • BitLocker encryption rate
  • Azure AD registration status

🔹 System & Hardware Insights

  • Top 10 Windows OS versions
  • Top 10 manufacturers (HP, Dell, Lenovo, etc.)
  • Company vs personal device ownership distribution

🔹 Device Inventory

  • Antivirus disabled Devices
  • Noncompliant Devices
  • BitLocker disabled Devices
  • Azure Unregistred Devices
  • Personal Devices
  • Inactive Devices
  • Devices with low storage

All tables are searchable and filterable with :
DeviceName, UserPrincipalName, OSVersion, Manufacturer, ComplianceState, Encryption, LastSyncDateTime, EnrollmentDate

All results are exportable to PDF, CSV


The PowerShell Script

This script will generate HTML file in this location : C:\Temp\Intune-Dashboard.html

You can get the PowerShell script from my Github :

https://github.com/aymenjaz/PowerShell/blob/main/1%20-%20Microsoft%20365/Microsoft%20Graph/Intune-Dashboard.ps1

Aymen EL JAZIRI (Microsoft MVP)
Aymen EL JAZIRI (Microsoft MVP)

Hi, I’m Aymen El Jaziri , a passionate System Administrator and Microsoft MVP, with years of hands-on experience in managing and securing modern IT infrastructures.
This blog is where I share technical guides, automation scripts, product reviews, and real-world solutions that help IT professionals simplify their day-to-day work and stay ahead in a fast-evolving cloud ecosystem.
Whether you’re here to troubleshoot an issue, improve your automation game, or learn new best practices , welcome in my blog !
Let’s build a stronger, smarter IT community together.
Feel free to connect with me on LinkedIn for more content, discussions, or collaboration opportunities.

Thanks

Aymen

Articles: 154