Using MacOS custom attributes in Intune

macOS Custom Attributes mit Intune erfassen

Update 06.09.2026: Die Abgrenzung zwischen Custom Inventory, Custom Compliance und dynamischen Gruppeneigenschaften wurde korrigiert. Microsoft-Dokumentation.

In diesem Beitrag zeige ich, wie du macOS Custom Attributes mit Microsoft Intune erfasst. Das Beispiel liest die Ladezyklen eines Mac-Akkus mit einem Shell-Skript aus. Anschließend prüfst du das Ergebnis in Intune.

Hier geht es um eigenes Inventar. Ein gemeldetes Attribut ist nicht automatisch eine Microsoft-Entra-Geräteeigenschaft oder eine Compliance-Regel. Dafür brauchst du einen separaten, unterstützten Ablauf.

Intune verfügt bereits über eine grundlegende Inventarisierung von macOS-Geräten. Auf der einen Seite gibt es ein Hardware-Inventar, in dem du alles von der Seriennummer bis zum freien Speicher findest, aber auch OS-Informationen. Zusätzlich kannst du in den Discovered Apps sehen, welche Anwendungen auf dem Gerät installiert sind. Wenn du jedoch mehr Informationen über die Geräte sammeln möchtest, bietet Intune hier eine wirklich coole Funktion. Die Funktion, von der ich spreche, heißt Custom Attribute. Das ist im Grunde ein Shell-Skript, das auf den Geräten ausgeführt wird, und der Rückgabewert wird als Custom Attribute gespeichert.

Warum macOS Custom Attributes in Intune verwenden

Wenn du aus der Jamf-Welt kommst, werden dir macOS Custom Attributes in Intune sofort vertraut vorkommen: Sie sind das Microsoft-Pendant zu den Extension Attributes. Das eingebaute Inventar deckt die Grundlagen gut ab, doch früher oder später stößt jede Organisation auf ein Signal, das Intune nicht von Haus aus erfasst – etwa den FileVault-Status, ein bestimmtes Konfigurationsprofil-Flag, die Akku-Ladezyklen oder die Frage, ob ein Drittanbieter-Agent läuft.

Nutze den Wert zur Untersuchung eines Geräts oder für einen Reporting-Ablauf. Dynamische Gruppen verwenden die unterstützten Microsoft-Entra-Geräteeigenschaften. Ein Intune Custom Attribute steht dort nicht automatisch zur Verfügung.

So stellst du ein Custom Attribute bereit

  • Öffne das Intune Admin Center
  • Navigiere zu Devices -> macOS -> Custom attributes
  • Klicke auf +Add
  • Gib einen Name ein
  • Klicke auf Next
  • Wähle den Data type der Skriptausgabe aus
  • Lade das Script hoch (Beispielskripte findest du weiter unten)
  • Klicke auf Next
macOS Custom Attributes in Intune verwenden
  • Weise das Custom Attribute einer Gruppe zu
  • Klicke auf Next
  • Klicke auf Add
  • Warte, bis der Wert erfasst wurde, und überprüfe den Status in Intune

Ein robustes Shell-Skript schreiben

Die Qualität deiner Custom Attributes hängt vollständig von dem Skript ab, das du hochlädst. Ein Custom-Attribute-Skript läuft als root im Kontext des Intune-Management-Agenten, und Intune erfasst genau das, was das Skript auf die Standardausgabe schreibt. Behalte daher diese Regeln im Hinterkopf, damit der Wert zuverlässig erfasst wird:

  • Gib den zu meldenden Wert sauber aus und halte Diagnoseausgaben getrennt. Der Wert muss zum ausgewählten Datentyp passen.
  • Passe den Wert an den ausgewählten Datentyp an (String, Integer oder Datum).
  • Beende das Skript zügig; lang laufende Skripte können ein Timeout verursachen und das Attribut leer lassen.
  • Behandle den Fall „nicht gefunden“ sauber, damit das Attribut nie leer bleibt.

Da das Skript mit vollen Rechten läuft, erreichst du nahezu jedes Systemsignal. Werkzeuge wie system_profiler, profiles, fdesetup und defaults sind hier deine Freunde. Die offizielle Dokumentation zu macOS Shell-Skripten in Microsoft Learn ist die verbindliche Referenz für alle unterstützten Einstellungen.

Beispielskript

BatteryLoadingCycles.sh

#!/bin/bash
#set -x
echo $(system_profiler SPPowerDataType | grep "Cycle Count:" | sed 's/.*Cycle Count: //')

Den Wert in Compliance und Graph nutzen

Custom Compliance ist eine eigene Funktion mit Discovery-Skript und JSON-Regeldatei. Der unten erfasste Inventarwert wird nicht automatisch übernommen. Microsoft beschreibt Custom Compliance für unterstützte Plattformen einschließlich macOS. Prüfe für externes Reporting zuerst die passende API und ihre Berechtigungen.

Fazit

Ich finde, das ist eine sehr nützliche Funktion, die das Reporting oder das Sammeln von Informationen sehr einfach macht. Ich habe dir ein Beispielskript bereitgestellt, das du verwenden, aber auch als Vorlage zum Erstellen neuer Skripte nutzen kannst. Du hast hier unendlich viele Möglichkeiten, was und wie du diese Informationen von Mac-Geräten sammeln möchtest. Das Einzige, was du beachten musst, ist, dass dein Skript eine Ausgabe erzeugt.