How can I build historical Intune and Defender dashboards with Power BI?

0
4
Asked By MellowCedar42 On

Intune and Defender mostly provide current-state views, which makes it difficult to answer questions about fleet trends, such as Windows patch levels, quality update status, stale devices, or whether Defender Antivirus is active instead of EDR block mode. I wanted historical data rather than another snapshot, so I created a scheduled Azure Automation PowerShell runbook that queries device data through Microsoft Graph using an Azure automation identity. The runbook writes each machine's status to a Microsoft List, and Power BI reads that list to produce trend dashboards. The screenshots are anonymized examples. Does this approach seem reasonable, and are there any major limitations or better storage options I should consider?

4 Answers

Answered By OrbitingPine88 On

A monitoring platform such as Zabbix could work well if the main goal is live operational visibility and alerting. You could collect Defender and Intune statistics through Graph or Advanced Hunting, then create triggers for stale devices, unhealthy sensors, risky endpoints, incidents, and alert severity. Power BI would still be the better choice for detailed analysis and polished reporting.

Answered By QuietHarbor7 On

This is a sensible practical solution. You can use ordinary Graph API calls from PowerShell; you do not need the Graph SDK for this. The important parts are using least-privilege permissions, handling pagination and throttling, and recording a timestamp with each device snapshot so the Power BI trends are meaningful.

Answered By BrightMango31 On

The main concern is the Microsoft List. Around 5,000 items, filtering and querying can become awkward even though the list can technically hold more. At two snapshots per day, your retention calculation gives you roughly a year for the current fleet, but growth in device count or extra fields will reduce that quickly. A proper database, Azure Table Storage, Log Analytics, or another scalable historical store would be safer long term.

MellowCedar42 -

That is my concern too. I may start with a FIFO cleanup process that removes the oldest records once the list reaches its practical limit, then move to more robust storage if the dataset grows.

Answered By SilverRook16 On

You could also query Graph directly from Power BI and keep the results in the model as a non-refreshing source, which removes the list and runbook. That is simpler for a one-time snapshot, but it is not a great replacement if you need scheduled collection, reliable historical retention, or an audit trail. A separate data store gives you much more control over refreshes and retention.

MellowCedar42 -

So in that setup, the Power BI model effectively becomes the historical store? I can see that working for a smaller or short-lived dataset, but I am wary of relying on it for long-term collection.

Related Questions

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.