LibreOffice-Benutzerprofile automatisch befüllen – eine Jamf-Pro-Lösung

LibreOffice-Benutzerprofile automatisch befüllen – eine Jamf-Pro-Lösung

Datum: 21. Juni 2026

Patrick

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:

App Store:
Kopieren
Direktinstallation (DMG, Paket, Munki, Installomator …):
Kopieren

Eine Lösung muss beide Varianten kennen – auch wenn ein Gerät beide installiert hat.

Die Architektur

Vier Teile greifen ineinander.

Inhalt

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:

Kopieren

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.

Kopieren

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:

Kopieren
Ein Ausschnitt aus der generierten PLIST (de.51bytes.computerdata):
Kopieren

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.

Kopieren

Den vollständigen Namen teilt das Skript in Vor- und Nachname auf:

Kopieren

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:

Kopieren

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.

Kopieren

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.

Beitrag teilen:
51bytes

Wir machen IT für Projekte.
Und für dich.

Wir machen IT für Projekte.
Und für dich.

Klicke einfach auf den Button und erfahre, wie wir dir bei deinen Themen rund um deine IT helfen können.