LibreOffice-Benutzerprofile automatisch befüllen – eine Jamf-Pro-Lösung
LibreOffice-Benutzerprofile automatisch befüllen – eine Jamf-Pro-Lösung
Startseite » LibreOffice-Benutzerprofile automatisch befüllen – eine Jamf-Pro-Lösung
Datum: 21. Juni 2026
Patrick
In LibreOffice können Anwenderdaten hinterlegt werden. Sie werden in den generierten Dokumenten in die Metadaten übertragen. Anwender tippen dort ihre Daten manuell ein. Oder sie lassen es bleiben. Das eine kostet Zeit. Das andere produziert leere Metadaten in jedem Dokument.
Die Byties haben eine Lösung gebaut, die das automatisiert. Sie braucht keinen Python-Interpreter und kein Drittanbieter-Tool. Nur Jamf Pro, ein Shell-Skript und drei Überlegungen.
Das Problem: zwei Installationswege, eine Konfigurationsdatei
LibreOffice speichert das Benutzerprofil in einer XML-Datei namens registrymodifications.xcu. Je nach Installationsweg liegt sie an unterschiedlichen Orten:
Eine Lösung muss beide Varianten kennen – auch wenn ein Gerät beide installiert hat.
Die Architektur
Vier Teile greifen ineinander.
Das Erweiterungsattribut – Voraussetzung prüfen
Ein Erweiterungsattribut prüft, ob für den angemeldeten Benutzer eine registrymodifications.xcu existiert. Es gibt Ja oder Nein zurück. Wir erstellen es über die Schaltfläche »Neu« unter »Jamf Pro -> Einstellungen -> Computerverwaltung -> Erweiterungsattribute«.
Wir haben es mit diesen Daten angelegt:
| Key | Value |
|---|---|
| Angezeigter Name | LibreOffice gestartet (Datei registrymodifications.xcu vorhanden) |
| Beschreibung | Gibt „Nein“ aus, wenn Datei nicht vorhanden. Gibt „Ja“ aus, wenn Datei vorhanden. |
| Datentyp | Zeichenfolge |
| Bestandsanzeige | Erweiterungsattribute |
| Eingabetyp | Skript |
Die Datei entsteht erst, nachdem LibreOffice mindestens einmal gestartet wurde. Das ist gewollt: Unser Hauptskript legt später keine Datei an – es befüllt eine vorhandene. Das Skript für das Erweiterungsattribut sieht so aus:
Die Scopes: die entscheidende Kombination
Der Scope für die PLIST
Das angelegte Konfigurationsprofil schreibt die Daten aus dem Inventar in die PLIST, sobald ein Rechner im Scope ist. Das bedeutet, es aktualisiert sich nicht automatisch, wenn sich Nutzerdaten ändern. Damit Daten in LibreOffice möglichst komplett geschrieben werden, legen wir für das Konfigurationsprofil eine dynamische Computergruppe an:
Computergruppe
Name: Nutzerdaten komplett
Kriterien
E-Mail Adresse ist nicht „“
Benutzername ist nicht „“
Vollständiger Name ist nicht „“
Damit stellen wir sicher, dass das Konfigurationsprofil mit unserer PLIST nur dann verteilt wird, wenn für uns alle notwendigen Daten vorhanden sind.
Der Scope für die Richtlinie
Die Richtlinie braucht zwei Bedingungen, die beide erfüllt sein müssen:
Bedingung 1 – App-Titel: LibreOffice.app ist installiert
Bedingung 2 – Erweiterungsattribut: LibreOffice gestartet (Datei registrymodifications.xcu vorhanden) ist „Ja“
Das Skript läuft damit nur, wenn LibreOffice installiert ist und der Benutzer es mindestens einmal geöffnet hat. Wir lassen es vom Nutzer über Setup Checklist beim Onboarding einmal öffnen und schließen. Geräte, auf denen LibreOffice nie lief, ignoriert es. Geräte mit frischer Installation warten auf den ersten Start. Beim nächsten Inventory-Update greift das EA – und die Richtlinie löst aus.
Die Richtlinie läuft einmal pro Computer pro Benutzer. Ändern sich Nutzerdaten entfernen wir den betroffenen Rechner per Auschlüsse aus dem Scope der Konfigurationsdatei und lösen die Richtlinie anschließend mit einem benutzerdefinierten Trigger erneut aus.
Die Plist – Benutzerdaten aus Jamf
Jamf Pro legt über ein Konfigurationsprofil eine Property-List-Datei (Plist) unter /Library/Managed Preferences/ ab. Sie enthält die benutzerspezifischen Daten aus dem LDAP-Datensatz oder dem Inventar: E-Mail, vollständiger Name, Telefonnummer, Position, Benutzerkürzel.
Wir erstellen in Jamf Pro also ein neues Konfigurationsprofil. Wir nennen es Jamf Daten. Unter dem Punkt Anwendungsspezifische und benutzerdefinierte Einstellungen wählen wir »Hochladen«.
Wir definieren eine Einstellungsdomäne wie bspw. »de.51bytes.computerdata«. Die Eigenschaftslisten pflegen wir wie aufgeführt:
Das Policy-Skript – Werte schreiben
Das Skript liest die Plist mit /usr/libexec/PlistBuddy – auf jedem Mac verfügbar, keine Installation nötig. Für jedes Feld prüft es, ob der Wert gesetzt ist. Leere Felder überspringt es.
Statische Unternehmensdaten – Firmenname, Ort, Postleitzahl, Straße, Land – kommen aus den Jamf-Skriptparametern. Sie gelten für alle Geräte einer Organisation.
Den vollständigen Namen teilt das Skript in Vor- und Nachname auf:
Das funktioniert auch bei Doppelnamen: „Anna Maria Müller“ ergibt givenname=Anna und sn=Müller.
Die XCU-Datei ändert das Skript mit sed. Es schreibt die XML-Datei nicht neu – es ersetzt nur den Wert zwischen den -Tags des jeweiligen Feldes:
Makros, eigene Toolbars, Autokorrektur-Einträge – alles bleibt unangetastet.
Das Skript legen wir in Jamf Pro an unter Einstellungen → Computerverwaltung → Skripte. Die Parameter 4 bis 9 benennen:
| Parameter | Label | Bedeutung |
|---|---|---|
| 4 | Unternehmen | Firmenname (o) |
| 5 | Ort | Stadt (l) |
| 5 | Postleitzahl | PLZ (postalcode) |
| 7 | Straße | Adresse (street) |
| 8 | Land | Land (c) z.B. Deutschland |
| 9 | PLIST-Name | z.B. de.51bytes.computerdata |
Das .plist-Suffix in Parameter 9 ist optional – das Skript ergänzt es automatisch.
Wer LibreOffice in einer Jamf-Umgebung betreibt, hat damit eine wartungsarme Grundlage: Das Skript befüllt Benutzerprofile automatisch und lässt alle persönlichen LibreOffice-Einstellungen in Ruhe.
Wer die Lösung in seiner Umgebung einrichten oder anpassen möchte, meldet sich bei uns.

