Export Intune Data to OneLake for Power BI with Fabric

Intune-Daten mit Fabric in OneLake exportieren

Status-Update 2026: Microsoft Fabric ist allgemein verfügbar. Dieser Artikel bewahrt den ursprünglichen Workflow von 2023; Portalbezeichnungen und Lizenzierung können heute abweichen. Prüfe die aktuelle Microsoft-Fabric-Dokumentation. Aktuelle Dokumentation

Intune stellt eine Vielzahl von Daten bereit, die du über Schnittstellen exportieren kannst und die zugleich die Grundlage für Intune Reporting und Analytics bilden. Aber wäre es nicht cool, wenn du alles – vom Datenexport bis zum Power-BI-Dashboard – an einem Ort in einem Portal hättest und zusätzlich die Daten, die dir Graph liefert, per SQL abfragen könntest, um komplexe Queries zu erstellen? Genau das bietet Microsoft Fabric. In diesem Blog möchten wir diese neue Plattform genauer unter die Lupe nehmen.

Microsoft Fabric Workflow zum Export von Intune-Daten nach OneLake

Was ist Microsoft Fabric?

Microsoft Fabric ist eine All-in-one-Analyselösung, die Datenaufnahme, Data Science, Echtzeitanalysen und Business Intelligence abdeckt. Sie befindet sich derzeit in der Public Preview und wurde am 24. Mai veröffentlicht.

Sie vereinfacht den Analyseprozess, indem sie Komponenten aus Power BI, Azure Synapse und Azure Data Factory in einer Plattform vereint. Die Grundlage von Fabric basiert auf einem Software-as-a-Service-Modell (SaaS) und sorgt so für einfache Nutzung und Integration. Sie ist auf Basis eines Personas-Modells für die Personas Data Engineering, Data Science, Data Warehouse und Echtzeitanalysen aufgebaut.

Zusätzlich kombiniert Fabric die Architekturen von OneLake und Lakehouse und bietet damit eine einheitliche Speicherlösung, die das Teilen von Daten und die Zusammenarbeit erleichtert. Außerdem enthält es eine OneDrive-ähnliche Integration in den Windows Explorer.

Microsoft Fabric Workflow für Intune-Daten-Reporting

Wie greift man auf Microsoft Fabric zu?

https://app.fabric.microsoft.com/

Was ist OneLake?

OneLake ist ein einheitlicher, logischer Data Lake für die gesamte Organisation – ähnlich wie OneDrive, nur für Daten. Es macht mehrere Data Lakes überflüssig, indem es einen einzigen Ort für alle Analysedaten bereitstellt. Mit OneLake profitierst du von einem einheitlichen Data Lake, auf den mehrere Analyse-Engines zugreifen können, wodurch Datenduplizierung vermieden wird. Wenn du kleiner anfangen möchtest, bevor du eine Fabric-basierte Lösung aufbaust, gefällt dir vielleicht auch diese Anleitung zum Erstellen von Microsoft-Intune-Statusberichten mit PowerShell. Es vereinfacht die Zusammenarbeit und das Teilen von Daten über Teams hinweg und unterstützt die nahtlose Integration mit verschiedenen Engines wie Spark, T-SQL und Power BI, sodass Nutzer die beste Engine für ihre Aufgaben einsetzen können, ohne Daten zu kopieren.

Wo finde ich weitere Informationen?

Wie aktiviert man Fabric?

  • Gehe zum Azure-Portal (portal.azure.com)
  • Suche nach fabric und wähle Microsoft Fabric
Microsoft Fabric Dashboard für den Export von Intune-Daten
  • Klicke auf Fabric-Kapazität erstellen
Microsoft Fabric Workflow für Intune-Daten und Power BI
  • Wähle Subscription und Resource Group aus und gib einen Kapazitätsnamen sowie eine Region ein.
  • Klicke auf Review + create
  • Klicke auf Create
Microsoft Fabric Dashboard zeigt den Workflow zum Export von Intune-Daten
Intune-Daten mit Fabric in OneLake für Power BI exportieren
  • Öffne das Admin-Portal
  • Suche nach Microsoft Fabric und aktiviere den Dienst für die gesamte Organisation oder für eine bestimmte Sicherheitsgruppe
Intune-Daten mit Fabric in OneLake für Power BI exportieren

Wie bringt man Intune-Daten in Microsoft Fabric?

  • Als Erstes musst du auf den Tab Data Engineer wechseln und Notebook auswählen
Intune-Daten mit Fabric in OneLake für Power BI exportieren
  • Kopiere den folgenden Code in das Notebook. Füge die tenant_id, client_id und client_secret ein. Dazu musst du eine App Registration erstellen. Wie das geht, ist weiter unten beschrieben.

Verwende dies nur zu Testzwecken. Fabric befindet sich derzeit in der Public Preview und es gibt noch keine einfache Möglichkeit, Managed-Identity-Authentifizierung oder eine Verbindung zu einem Key Vault zu nutzen, um das client_secret zu speichern

import requests
import json

# Get auth token
tenant_id = ''
client_id = ''
client_secret = ''
table_name = 'managedDevices'

def get_auth_token(client_id:str, client_secret:str, tenant_id:str, header:bool = True, resource: str = "https://graph.microsoft.com"):
    auth_url = f"https://login.microsoftonline.com/{tenant_id}/oauth2/token"

    auth_payload = {
        'grant_type': 'client_credentials',
        'client_id': client_id,
        'client_secret': client_secret,
        'resource': resource,
    }

    auth_response = requests.post(auth_url, data=auth_payload)
    auth_response.raise_for_status()
    auth_result = auth_response.json()

    if header:
        return {
            "Content-Type": "application/json",
            "Authorization": f"Bearer {auth_result['access_token']}"
        }
    return auth_result['access_token']


def send_request(url:str, header, method:str="GET", params=None, json=None, data=None):
    if method == "GET":
        response = requests.get(url, headers=header, params=params, verify=False)
    elif method == "POST":
        response = requests.post(url, headers=header,params=params, json=json, data=data, verify=False)
    else:
        raise ValueError(
            "Invalid method. Supported methods are 'GET' and 'POST'.")
    response.raise_for_status()
    if len(response.content) <1:
        return None
    return response.json()


try:
    auth_token = get_auth_token(client_id = client_id, client_secret = client_secret, tenant_id = tenant_id)
except Exception as e:
    error_message = f"Failed to get access token: {e}"
    print(error_message)

# Get content
try:
    response = send_request(url='https://graph.microsoft.com/beta/deviceManagement/managedDevices', header=auth_token, method="GET")
    df = spark.read.json(sc.parallelize(response['value']).map(lambda x: json.dumps(x)))
except Exception as e:
    error_message = f"Failed to send request: {e}"
    print(error_message)

df.write.format('delta').mode('overwrite').saveAsTable(table_name)
  • Klicke auf Add, um ein Lakehouse zu erstellen -> Wähle New lakehouse -> gib einen Namen ein
Intune-Daten mit Fabric in OneLake für Power BI exportieren
  • Nun ist das Lakehouse erstellt. Klicke auf Run, um das Notebook auszuführen
Intune-Daten mit Fabric in OneLake für Power BI exportieren
  • Du findest die Tabelle nun im Lakehouse
Intune-Daten mit Fabric in OneLake für Power BI exportieren
  • Wenn du zurückgehst und den SQL-Endpoint auswählst, kannst du die Daten ansehen oder per SQL abfragen.
Intune-Daten mit Fabric in OneLake für Power BI exportieren
Intune-Daten mit Fabric in OneLake für Power BI exportieren

Wie erstellt man eine App Registration

  • Öffne das Microsoft Entra Admin Center
  • Wähle App registration -> + New app registration
  • Gib einen Namen ein
  • Navigiere zu API permissions -> + Add a permission -> Wähle Microsoft Graph
Intune-Daten mit Fabric in OneLake für Power BI exportieren
  • Wähle Application permission und füge die folgenden Berechtigungen hinzu:
    • DeviceManagementManagedDevices.Read.All
    • DeviceManagementApps.Read.All
Intune-Daten mit Fabric in OneLake für Power BI exportieren
  • Klicke auf Grant admin consent for xxx
Intune-Daten mit Fabric in OneLake für Power BI exportieren
  • Gehe zum Abschnitt Certificate & secret und klicke auf + New client secret
Intune-Daten mit Fabric in OneLake für Power BI exportieren
  • Alle weiteren Informationen findest du im Abschnitt Overview
Intune-Daten mit Fabric in OneLake für Power BI exportieren

Wie erstellt man einen Zeitplan

  • Wähle +New -> Data pipeline und gib einen Namen ein
Intune-Daten mit Fabric in OneLake für Power BI exportieren
  • Klicke auf Notebook -> Settings und wähle das erstellte Notebook
Intune-Daten mit Fabric in OneLake für Power BI exportieren
  • Klicke auf Schedule und wähle eine Frequenz
Intune-Daten mit Fabric in OneLake für Power BI exportieren