Benutzerdefinierte CSP
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 Konfiguration Benutzerdefinierte CSP können beliebige CSP-Richtlinien in einer oder mehreren Konfigurationen dieses Typs 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 Konfiguration Benutzerdefinierte CSP wird die Konfiguration nicht von Relution implementiert, daher übernimmt Relution 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
Beim Einsatz von CSP-Richtlinien sind die folgenden Besonderheiten des SyncML-Protokolls zu beachten.
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).
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 Feld SyncML löschen 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 Windows-Geräten anzuwenden, wird unter Geräte → Richtlinien in einer Windows-Richtlinie die Konfiguration Benutzerdefinierte CSP hinzugefügt. Nach dem Veröffentlichen der Richtlinie wird die Konfiguration auf die Geräte der Gerätegruppen angewendet, denen die Richtlinie zugewiesen ist (siehe Richtlinien →).
Für eine funktionierende Anwendung sind zwei SyncML-Befehle erforderlich: im Feld SyncML installieren ein Befehl zum Anwenden bzw. Aktualisieren der Konfiguration und im Feld SyncML löschen ein Befehl zum Entfernen der Konfiguration vom Gerät. Bei mehrfacher Veröffentlichung ist darauf zu achten, dass der Befehl in SyncML installieren bei Bedarf angepasst wird.
Die Konfiguration Benutzerdefinierte CSP enthält folgende Eigenschaften (alle sind Pflichtfelder):
| Eigenschaft | Beschreibung |
|---|---|
| Name | Bezeichnung der Konfiguration (maximal 255 Zeichen) |
| SyncML installieren | Das auszuführende SyncML, wenn die Konfiguration auf dem Gerät angewendet wird |
| SyncML löschen | 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. - 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.
<Replace>, <Add>, <Delete>), ohne die Elemente SyncML, SyncHdr oder SyncBody. Enthält das SyncML eines dieser Elemente oder ist es kein gültiges SyncML, wird die Konfiguration beim Speichern abgelehnt. Vollständige SyncML-Nachrichten aus der Microsoft-Dokumentation müssen daher vorher auf die Befehle gekürzt werden.In beiden SyncML-Feldern können Platzhalter verwendet werden, einschließlich Platzhaltern für Zertifikate. Die verfügbaren Platzhalter werden im Bereich Verfügbare Platzhalter unterhalb der Konfiguration angezeigt und bei der Auslieferung durch die Werte des jeweiligen Geräts bzw. Benutzers ersetzt (siehe Erweiterte Platzhalter →).
Bei jeder Änderung der Richtlinien eines Geräts, etwa nach dem Veröffentlichen einer neuen Richtlinien-Version, sendet Relution das SyncML aus SyncML installieren aller zugewiesenen Konfigurationen Benutzerdefinierte CSP erneut, auch wenn die Konfiguration selbst unverändert ist. Anders als bei anderen Windows-Konfigurationen wird der Zustand auf dem Gerät vorher nicht abgefragt. Ein Add-Befehl kann dadurch bei späteren Auslieferungen fehlschlagen (siehe Best Practices →).
Schlägt die Anwendung auf dem Gerät fehl, meldet Relution am Gerät einen Compliance-Verstoß vom Typ Benutzerdefinierte CSP-Konfiguration.
Beispiele
Richtlinien CSP/Benutzerfreundlichkeit/AllowCortana →
- Cortana zulassen
SyncML installieren:
<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
SyncML installieren:
<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
SyncML löschen:
<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 SyncML installieren).
- Sollte das Löschen fehlschlagen, bleiben die betroffenen CSP-Richtlinien auf dem Gerät aktiv. In diesem Fall ist eine Anpassung von SyncML löschen erforderlich, 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 SyncML installieren aufReplaceumgestellt 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.