Creating Custom Intune Reports with Microsoft Graph API

The guide demonstrates how system administrators can build a custom Power BI dashboard to track Windows 365 license costs by pulling data from Microsoft Graph API, combining it with external data (like license pricing), and storing it in Azure Log Analytics.

 What the Solution Includes:

  • A PowerShell script to automate setup
  • A Power BI template dashboard
  • A working example that pulls and visualizes data from Microsoft Graph

 Key Capabilities:

  1. Pull Cloud PC data (IDs, service plan, provisioning policy, user info) from Microsoft Graph
  2. Combine with user details like department
  3. Format data as JSON and send to Log Analytics
  4. Use Azure Automation to run recurring data pulls
  5. Visualize trends in Power BI, including cost analysis over time

 Security Best Practice:

  • Uses User-Assigned Managed Identity and federated credentials for secure API authentication (no hard-coded secrets or certificates).

 Step-by-Step Setup:

  1. Download Power BI dashboard and script from GitHub
  2. Modify variables like tenant ID, location, etc.
  3. Run script to set up:
    • Log Analytics Workspace + custom table
    • Data Collection Rules + Azure Automation
    • Managed Identity + App Registration
  4. Test runbook to confirm data is sent to Log Analytics
  5. Export logs to Power BI using M Query
  6. Customize dashboard (pricing table, time range, etc.)

 Use Cases & Flexibility:

  • Tracks cost by service plan, department, or provisioning type
  • Offers historical reporting beyond what Intune provides natively.
  • Easily extendable to include other Graph API data

Conclusion:

This solution enables IT admins to create custom, scalable, and secure reports by combining Microsoft Graph, Azure Log Analytics, and Power BI. It provides deeper insights into Windows 365 environments, license costs, and user trends—filling critical gaps in native Intune reporting.

Apply Job
Privacy Overview
TRN Digital

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.

Strictly Necessary Cookies

Strictly Necessary Cookie should be enabled at all times so that we can save your preferences for cookie settings.

If you disable this cookie, we will not be able to save your preferences. This means that every time you visit this website you will need to enable or disable cookies again.

3rd Party Cookies

This website uses Google Analytics to collect anonymous information such as the number of visitors to the site, and the most popular pages.

Keeping this cookie enabled helps us to improve our website.