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:
- Pull Cloud PC data (IDs, service plan, provisioning policy, user info) from Microsoft Graph
- Combine with user details like department
- Format data as JSON and send to Log Analytics
- Use Azure Automation to run recurring data pulls
- 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:
- Download Power BI dashboard and script from GitHub
- Modify variables like tenant ID, location, etc.
- Run script to set up:
- Log Analytics Workspace + custom table
- Data Collection Rules + Azure Automation
- Managed Identity + App Registration
- Test runbook to confirm data is sent to Log Analytics
- Export logs to Power BI using M Query
- 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.