Benutzerdefinierte Konfiguration
Die MDM-Schnittstelle nutzt zur Verwaltung von Windows-Geräten Richtlinien des Konfigurationsdienstanbieters (Configuration Service Provider, CSP). Diese werden mithilfe des SyncML Protokolls →, einem speziellen XML-Format, auf dem Gerät angewendet, gelöscht oder abgefragt. Eine Liste verfügbarer CSP-Richtlinien ist in der offiziellen Microsoft MDM Dokumentation → enthalten.
Mit der neuen benutzerdefinierten Konfiguration können beliebige CSP-Richtlinien in einer oder mehreren “Custom CSP”-Konfigurationen zusammengeführt und auf Windows-Geräten angewendet werden. Die über die MDM-Schnittstelle verfügbaren Funktionen sind dadurch nur noch durch die von Microsoft angebotenen CSP-Richtlinien begrenzt. Microsoft erweitert diese Richtlinien kontinuierlich. Eine Übersicht der aktuellen Neuerungen ist in der offiziellen Microsoft-Dokumentation → zu finden.
Wichtige Anmerkungen
Bei der Arbeit mit der Custom CSP-Konfiguration wird die Konfiguration nicht von Relution implementiert, daher übernehmen wir keine Haftung für eventuelle Schäden. Die verwendeten CSPs sollten vor der Anwendung auf einem Gerät sorgfältig geprüft werden. Weitere Hinweise sind unter Best Practices → zu finden.
Es besteht die Möglichkeit, dass die verwendeten CSPs auch von Relution selbst genutzt werden. In diesem Fall kann es zu Wechselwirkungen kommen, die von Relution bereitgestellte Konfigurationen beeinträchtigen oder überschreiben.
Funktionsweise
Allgemein
Nicht jede CSP-Richtlinie lässt sich auf jedem Gerät anwenden. Die Verfügbarkeit hängt von der Betriebssystem-Version und der Edition ab. Die entsprechenden Informationen sind den jeweiligen CSP-Richtlinien zu entnehmen. Wird ein Gerät nicht unterstützt, schlägt die Anwendung der Richtlinie fehl.
Die CSP-Richtlinien können im Geräte- oder Benutzer-Kontext → angewendet werden. Dabei ist zu beachten, dass der Benutzerkontext nur für den Benutzer gilt, mit dem die Einschreibung durchgeführt wurde. Daher wird empfohlen, CSP-Richtlinien ausschließlich im Gerätekontext zu verwenden.
Die CSP-Richtlinien unterstützen nicht alle SyncML-Befehle. Es kann vorkommen, dass bestimmte CSP-Richtlinien beispielsweise nur für die Abfrage (Get-Befehl) verfügbar sind.
Beispiel: Um Cortana auf einem Gerät zu erlauben oder zu blockieren (in der Relution Konfiguration Restriktionen bereits enthalten), kann der folgende CSP verwendet werden: Richtlinien CSP/Benutzerfreundlichkeit/AllowCortana →.
- Dieser CSP ist ab Version 1507 und für alle Editionen anwendbar.
- Es wird ausschließlich der Gerätekontext unterstützt.
- Unterstützte SyncML-Abfragen erlaubt: Hinzufügen (
Add), Löschen (Delete), Abrufen (Get), Ersetzen (Replace).
SyncML-Besonderheiten
Add und Replace
Das SyncML-Protokoll weist einige Besonderheiten auf, die bei der Anwendung von Konfigurationen berücksichtigt werden müssen.
Manche CSP-Richtlinien müssen bei erstmaliger Anwendung mit dem Add-Befehl hinzugefügt werden. Bei späteren Aktualisierungen kann dieser Add-Befehl dann fehlschlagen. In solchen Fällen muss stattdessen der Befehl Replace verwendet werden. Weitere Hinweise sind unter Best Practices → zu finden.
Delete
Das Löschen einer CSP-Richtlinie kann direkt auf der jeweiligen CSP-Richtlinie erfolgen. In manchen Fällen ist der Delete-Befehl auch auf einem übergeordneten oder auch Root-Knoten möglich.
Dabei werden alle untergeordneten CSP-Richtlinien unterhalb ebenfalls entfernt.
Schlägt das Löschen fehl, bleiben die betreffenden CSP-Richtlinien auf dem Gerät weiterhin aktiv. In diesem Fall muss das Delete SyncML angepasst und die Richtlinie erneut angewendet sowie anschließend korrekt entfernt werden.
Atomic und Sequence
Mit dem Sequence-Befehl lassen sich mehrere CSP-Richtlinien gruppieren und in einer definierten Reihenfolge ausführen. Schlägt eine einzelne Richtlinie fehl, werden die übrigen dennoch angewendet.
Dies kann zu unerwünschtem Verhalten führen, weshalb fehlerhafte Richtlinien gegebenenfalls manuell entfernt werden müssen.
Wird das SyncML hingegen innerhalb eines Atomic-Befehls ausgeführt, führt ein Fehler bei einer einzelnen Richtlinie zum Abbruch und Rollback der gesamten Konfiguration. Die Richtlinien werden entweder vollständig oder gar nicht angewendet.
Der Atomic-Befehl ist daher vorzuziehen und wird aktuell ausschließlich unterstützt.
In Relution
Um eine benutzerdefinierte Konfiguration auf einem Windows-Gerät anzuwenden, muss diese in Relution erstellt und einer Gerätegruppe zugewiesen werden.
Für eine funktionierende Anwendung sind zwei SyncML-Befehle erforderlich. Ein Install SyncML zum Anwenden bzw. Aktualisieren der Konfiguration und ein Delete SyncML zum Entfernen der Konfiguration vom Gerät. Bei mehrfacher Veröffentlichung ist darauf zu achten, dass der Install SyncML-Befehl bei Bedarf entsprechend angepasst wird.
Die benutzerdefinierte Konfiguration enthält folgende Eigenschaften:
| Eigenschaft | Beschreibung |
|---|---|
| Name | Bezeichnung der Konfiguration |
| Install SyncML | Das auszuführende SyncML, wenn die Konfiguration auf dem Gerät angewendet wird |
| Delete SyncML | SyncML-Inhalt, der beim Entfernen der Konfiguration vom Gerät ausgeführt wird |

Damit Relution die Konfiguration erfolgreich auf dem Gerät anwenden und das Ergebnis auswerten kann, wird das eingegebene SyncML automatisch ergänzt.
- Enthält das angegebene SyncML
<Format>- oder<Type>-Element, wird dieses automatisch um den erforderlichen Namespace erweitert. Dies geschieht beim Speichern der Konfiguration. - Das SyncML wird bei der Auslieferung automatisch in einen
Atomic-Block eingebettet. Dies ist notwendig, um die Antwort des Geräts eindeutig der jeweiligen Konfiguration zuordnen zu können. Zukünftig wird es alternativ eine Möglichkeit geben, das SyncML in einenSequence-Block zu packen. Dies kann für die Verwendung von speziellen CSPs notwendig sein, da diese ggf. nicht in einemAtomicverwendet werden dürfen. - Zusätzlich wird das SyncML bei der Auslieferung um die erforderlichen Container
SyncBody,SyncHdrundSyncMLerweitert, sodass es konform an das Gerät gesendet werden kann. Dies geschieht erst bei Auslieferung der Konfiguration.
Beispiele
Richtlinien CSP/Benutzerfreundlichkeit/AllowCortana →
- Cortana zulassen
Install SyncML:
<Replace>
<CmdID>1</CmdID>
<Item>
<Target>
<LocURI>./Device/Vendor/MSFT/Policy/Config/Experience/AllowCortana</LocURI>
</Target>
<Meta>
<Format>int</Format>
</Meta>
<Data>1</Data>
</Item>
</Replace>
- Cortana blockieren
Install SyncML:
<Replace>
<CmdID>1</CmdID>
<Item>
<Target>
<LocURI>./Device/Vendor/MSFT/Policy/Config/Experience/AllowCortana</LocURI>
</Target>
<Meta>
<Format>int</Format>
</Meta>
<Data>0</Data>
</Item>
</Replace>
- CSP-Richtlinie AllowCortana von Gerät entfernen
Delete SyncML:
<Delete>
<CmdID>1</CmdID>
<Item>
<Target>
<LocURI>./Device/Vendor/MSFT/Policy/Config/Experience/AllowCortana</LocURI>
</Target>
</Item>
</Delete>
Best Practices
- Eine Aktualisierung der Konfiguration kann über eine neue Richtlinien-Version erfolgen (ggf. mit angepasstem
Install SyncML). - Sollte das Löschen fehlschlagen, bleiben die betroffenen CSP-Richtlinien auf dem Gerät aktiv. In diesem Fall ist eine Anpassung des
Delete SyncMLerforderlich, gefolgt von einem erneuten Anwenden und anschließendem Entfernen der Richtlinie. - Es wird empfohlen, den
Replace-Befehl anstelle vonAddzu verwenden - außer die entsprechende CSP-Richtlinie unterstütztReplacebei der Erstanwendung nicht. - Falls
Replacebei der erstmaligen Anwendung einer CSP-Richtlinie nicht zulässig ist, sollte die Konfiguration zunächst mitAddangewendet werden. Anschließend sollte dasInstall SyncMLaufReplaceumgestellt und eine neue Richtlinien-Version auf das Gerät ausgerollt werden. - Es wird dringend empfohlen, das gewünschte Verhalten ausgiebig auf geeigneten Testgeräten zu testen. Mindestens folgende Szenarien sollten getestet werden:
- Erstmaliges Anwenden der Konfiguration
- Aktualisierung der Konfiguration
- Löschen der Konfiguration
Beispielrichtlinien
Ein umfangreiches Beispiel für benutzerdefinierte Richtlinien wurde im Relution Community Board veröffentlicht: Relution Community Board - Custom CSP →.
Vielen Dank an die Community für den wertvollen Beitrag.