Hoeveel laptops draaien al Windows 11 25H2? Welke BIOS-versie loopt achter? Welke apparaten waren vorige week nog compliant en nu niet meer? In de Intune-portal klik je je door lijsten en exports om die antwoorden te vinden, en een CSV-export is bovendien alweer verouderd zodra je hem opent.

Daarom heb ik een Intune-dashboard gemaakt: één PowerShell-script dat de apparaten live ophaalt uit Microsoft Graph en er één overzichtelijk HTML-bestand van maakt. Handmatig exporteren is niet meer nodig.

Download: Intune-Device-Dashboard.ps1

De afbeeldingen op deze pagina gebruiken verzonnen apparaten en gebruikers, geen echte gegevens.

Waarom ik dit gemaakt heb

Voorheen haalden we de gegevens uit Intune met een export naar Excel. Wilden we weten wat er sinds de vorige keer veranderd was, dan zetten we die export naast een oudere en vergeleken we de twee met de hand. Dat was omslachtig: eerst exporteren, dan twee bestanden naast elkaar leggen, dan zoeken welke apparaten nieuw, weg of gewijzigd waren. En bij elke nieuwe vergelijking begon je weer van voren af aan.

Ik dacht: dit moet makkelijker en beter kunnen. Zo kwam ik op het idee om een dashboard te bedenken en te bouwen dat de gegevens zelf ophaalt, de vorige keer bewaart en de verschillen meteen laat zien. Wat de exports en de vergelijking in Excel deden, doet het script nu in één keer.

Wat je ziet

Bovenaan staan zes tegels: het totaal aantal apparaten, hoeveel er compliant en niet compliant zijn, hoeveel er versleuteld zijn, en het aantal verschillende modellen en OS-builds. Daaronder staan grafieken voor besturingssysteem, compliance, encryptie, BIOS-versies, modellen en buildnummers.

Dashboard met de knoppen Alle, Windows en iOS, zes tegels met kerncijfers, drie cirkeldiagrammen voor besturingssysteem, compliance en encryptie, drie staafgrafieken voor BIOS-versies, modellen en buildnummers, en vier kaarten met het verschil ten opzichte van de vorige export
Het dashboard met alle apparaten, gevuld met voorbeeldgegevens.

Alle, Windows of iOS

Rechtsboven kies je met drie knoppen welke apparaten je wilt zien: Alle, Windows of iOS (iPhone en iPad). De tegels, de grafieken, de tabellen en de wijzigingen passen zich direct aan. Dat gaat in de browser, je hoeft het script niet opnieuw te draaien.

Kies je Windows, dan verschijnt ook de grafiek met BIOS-versies. Die is voor iPhones en iPads niet relevant en blijft daar dus weg.

Hetzelfde dashboard met de knop Windows geselecteerd: 142 apparaten, de grafiek met BIOS-versies en alleen Windows-builds in de overzichten
Alleen de Windows-apparaten, inclusief BIOS-versies.

Wijzigingen sinds de vorige keer

Elke keer dat je het script draait, wordt een momentopname van alle apparaten bewaard. De volgende keer vergelijkt het script de nieuwe gegevens met die momentopname. Zo zie je meteen:

  • welke apparaten nieuw zijn of zijn verwijderd
  • bij welke apparaten de build, de compliance, de BIOS-versie of de TPM-versie is gewijzigd

Per apparaat staat de oude waarde in rood en de nieuwe in groen. De tegels bovenaan tonen het verschil in aantallen, bijvoorbeeld +12 compliant en -8 niet compliant. Ook de wijzigingen volgen de knoppen Alle, Windows en iOS, en je kunt zoeken op devicenaam, soort wijziging of een oude of nieuwe waarde, bijvoorbeeld een specifieke BIOS-versie.

Tabel 'Wijzigingen sinds vorige export' met een zoekveld, tellers voor nieuwe en verwijderde apparaten en gewijzigde builds, compliance, BIOS en TPM, en per apparaat de oude waarde in rood en de nieuwe in groen
Per apparaat zie je wat er veranderd is sinds de vorige keer.

De allereerste keer is er nog niets om mee te vergelijken. Dan laat het dashboard dat weten en bewaart het de momentopname voor de volgende keer.

Het apparatenoverzicht

Onder de grafieken staat een tabel met alle apparaten. Je zoekt op naam, gebruiker, model of build, en je kunt zelfs zoeken op een versienaam als 24H2. Daarnaast filter je op compliance, buildnummer, BIOS-versie en model, en je sorteert op elke kolom. De naam van een apparaat is een link naar dat apparaat in Intune. De tabel toont de eerste 500 resultaten.

Zo werkt het

  1. Het script verbindt met Microsoft Graph. Het vraagt alleen leesrechten (DeviceManagementManagedDevices.Read.All) en wijzigt dus niets in Intune. Is de Microsoft Graph-module nog niet geïnstalleerd, dan installeert het script die voor je eigen account.
  2. Het haalt de apparaten op: Windows-apparaten waarvan de naam met win- begint, en alle iPhones en iPads.
  3. Voor de Windows-apparaten haalt het ook de BIOS-versie en de TPM-gegevens op. Graph geeft die niet mee in de gewone lijst, dus ze worden per apparaat opgevraagd, in groepjes van 20 tegelijk. Bij een paar duizend apparaten kost dat even tijd, daarom kun je dit onderdeel met -SkipHardwareDetails overslaan.
  4. Het script maakt één los HTML-bestand met alle gegevens erin en opent dat in je browser. Je hebt de gegevens dus niet meer nodig uit Intune om het dashboard te bekijken.

Standaard komt het resultaat in C:\Scripting\Intune\Dashboard, met een bestandsnaam met datum en tijd. In dezelfde map staat de map History met de momentopnames. Met -OutputFolder kies je een andere map en met -NoOpenReport wordt het dashboard niet automatisch geopend.

Zelf proberen

  1. Download Intune-Device-Dashboard.ps1 en zet het bijvoorbeeld in C:\Scripting\Intune.

  2. Deblokkeer het bestand eenmalig, omdat het van internet komt:

    Unblock-File C:\Scripting\Intune\Intune-Device-Dashboard.ps1
  3. Start het script in PowerShell 5.1 of nieuwer:

    .\Intune-Device-Dashboard.ps1

    Wil je BIOS en TPM overslaan, bijvoorbeeld om snel iets te testen, dan werkt dit:

    .\Intune-Device-Dashboard.ps1 -SkipHardwareDetails
  4. Log in met een account dat apparaten in Intune mag lezen. De eerste keer vraagt Microsoft om toestemming voor de leesrechten.

Het script wijzigt niets in Intune, dus je kunt het veilig uitproberen.

Parameter Wat het doet
-OutputFolder Map voor het dashboard en de momentopnames. Standaard C:\Scripting\Intune\Dashboard
-SkipHardwareDetails BIOS en TPM overslaan, dat scheelt veel tijd
-HardwareBatchSize Aantal apparaten per batch voor BIOS en TPM, van 1 tot 20 (standaard 20)
-NoOpenReport Het dashboard niet automatisch openen

Goed om te weten

  • Het bestand bevat apparaatnamen en gebruikers. Deel het dus alleen binnen je eigen organisatie.
  • De Windows-selectie op win- past bij mijn naamgeving. Heten jouw laptops anders, dan pas je die regel in het script aan. Zoek daarvoor op ^win-, dat komt twee keer voor.
  • De wijzigingen zijn zo goed als de momentopnames: hoe vaker je het script draait, hoe preciezer je ziet wanneer iets veranderd is.