OMA DM-Befehle werden zwischen dem Server und dem Clientgerät in Nachrichten übertragen. Eine Nachricht kann einen oder mehrere Befehle enthalten. Eine Liste der unterstützten Befehle finden Sie in der Tabelle zur Unterstützung des OMA DM-Protokolls.
Eine DM-Nachricht ist ein XML-Dokument. Struktur und Inhalt des Dokuments sind im OMA DM Representation Protocol (OMA-SyncML-DevInfo-DTD-V1_1_2-20030505-D.dtd) definiert, das auf der OMA-Website verfügbar ist.
Jede Nachricht besteht aus einem Header, der durch das SyncHdr-Element angegeben wird, und einem Nachrichtentext, der durch das SyncBody-Element angegeben wird.
In der folgenden Tabelle sind die unterstützten OMA DM-Versionen aufgeführt.
Version
Format
OMA DM Version 1.1.2
<SyncML xmlns='SYNCML:SYNCML1.1'></SyncML>
OMA DM Version 1.2
<SyncML xmlns='SYNCML:SYNCML1.2'></SyncML>
Dateiformat
Das folgende Beispiel zeigt die allgemeine Struktur des XML-Dokuments, das vom Server mit OMA DM Version 1.2.1 nur zu Demonstrationszwecken gesendet wird. Die anfänglichen XML-Pakete, die zwischen Client und Server ausgetauscht werden, können weitere XML-Tags enthalten. Eine ausführliche Beschreibung und Beispiele für diese Pakete finden Sie in der Spezifikation OMA Geräteverwaltung Protocol 1.2.1.
XML
<SyncMLxmlns='SYNCML:SYNCML1.2'><SyncHdr><VerDTD>1.2</VerDTD><VerProto>DM/1.2</VerProto><SessionID>1</SessionID><MsgID>1</MsgID><Target><LocURI>{unique device ID}</LocURI></Target><Source><LocURI>https://www.contoso.com/mgmt-server</LocURI></Source></SyncHdr><SyncBody><!-- query a device OS system version --><Get><CmdID>2</CmdID><Item><Target><LocURI>./DevDetail/SwV</LocURI></Target></Item></Get><!-- Update device policy --><Final /></SyncBody></SyncML>
SyncHdr-Element
SyncHdr enthält die folgenden Informationen:
Dokumenttypdefinition (DTD) und Protokollversionsnummern
Sitzungs- und Nachrichtenbezeichner. Jede Nachricht in derselben DM-Sitzung muss eine andere MsgID aufweisen.
URIs (Uniform Resource Identifiers) für Nachrichtenquelle und -ziel
Anmeldeinformationen für die Authentifizierung
Diese Informationen werden vom Clientgerät verwendet, um die DM-Sitzung ordnungsgemäß zu verwalten.
Codebeispiel
Das folgende Beispiel zeigt die Headerkomponente einer DM-Nachricht. In diesem Fall wird nur OMA DM Version 1.2 als Beispiel verwendet.
Hinweis
Der <LocURI> Knotenwert für das <Source> Element im SyncHdr des vom Gerät generierten DM-Pakets sollte mit dem Wert von ./DevInfo/DevID identisch sein. Weitere Informationen zu DevID finden Sie unter DevInfo-Konfigurationsdienstanbieter.
SyncBody enthält mindestens einen DM-Befehl. SyncBody kann mehrere DM-Befehle enthalten. Jeder Befehl muss einen anderen CmdID-Wert aufweisen.
Codebeispiel
Das folgende Beispiel zeigt die Textkomponente einer DM-Nachricht. In diesem Beispiel enthält SyncBody nur einen Befehl, Get. Dieser Befehl wird durch das <Final /> Tag angegeben, das unmittelbar nach dem abschließenden Tag für den Get-Befehl auftritt.
XML
<SyncBody><!-- query device OS software version --><Get><CmdID>2</CmdID><Item><Target><LocURI>./DevDetail/SwV</LocURI></Target></Item></Get><Final /></SyncBody>
Wenn SyncML für die OMA DM-Bereitstellung verwendet wird, kann ein LocURI in SyncBody nur im ersten Segment einen "." als gültigen Segmentnamen aufweisen. Ein "." ist jedoch kein gültiger Segmentname für die anderen Segmente. Der folgende LocURI ist beispielsweise ungültig, da der Segmentname des siebten Segments "." lautet.
Verwenden Sie dynamische Bereitstellungsmethoden wie die Abonnementaktivierung, Bereitstellungspakete und Microsoft Entra-Einbindung, um ein vorhandenes Betriebssystem neu zu konfigurieren.