Grundlegendes zu ADMX-Richtlinien

Aufgrund der erhöhten Einfachheit und der Einfachheit, mit der Geräte gezielt eingesetzt werden können, finden Unternehmen es zunehmend vorteilhafter, ihre PC-Verwaltung auf eine cloudbasierte Geräteverwaltungslösung umzustellen. Leider fehlen den modernen Windows-PC-Geräteverwaltungslösungen die wichtigen Konfigurationsfunktionen für Richtlinien und App-Einstellungen, die in einer herkömmlichen PC-Verwaltungslösung unterstützt werden.

Die Unterstützung der Richtlinienkonfiguration für mobile Geräteverwaltung (MDM) wurde erweitert, um den Zugriff auf ausgewählte Gruppenrichtlinie administrative Vorlagen (ADMX-Richtlinien) für Windows-PCs über den Richtlinienkonfigurationsdienstanbieter (Policy Configuration Service Provider, CSP) zu ermöglichen. Dieser erweiterte Zugriff stellt sicher, dass Unternehmen ihre Geräte konform halten und das Risiko einer Gefährdung der Sicherheit ihrer über die Cloud verwalteten Geräte verhindern können.

Hintergrund

Zusätzlich zu standardmäßigen MDM-Richtlinien kann der Richtlinien-CSP auch ausgewählte ADMX-Richtlinien behandeln. In einer ADMX-Richtlinie enthält eine administrative Vorlage die Metadaten eines Windows-Gruppenrichtlinie und kann im lokalen Gruppenrichtlinie Editor auf einem PC bearbeitet werden. Jede administrative Vorlage gibt die Registrierungsschlüssel (und deren Werte) an, die einem Gruppenrichtlinie zugeordnet sind, und definiert die Richtlinieneinstellungen, die verwaltet werden können. Administrative Vorlagen organisieren Gruppenrichtlinien in einer Hierarchie, in der jedes Segment im hierarchischen Pfad als Kategorie definiert ist. Jede Einstellung in einer Gruppenrichtlinie administrativen Vorlage entspricht einem bestimmten Registrierungswert. Diese Gruppenrichtlinie Einstellungen werden in einem standardbasierten XML-Dateiformat definiert, das als ADMX-Datei bezeichnet wird. Weitere Informationen finden Sie unter Gruppenrichtlinie ADMX-Syntaxreferenz.

ADMX-Dateien können entweder Betriebssystemgruppenrichtlinien beschreiben, die mit Windows ausgeliefert werden, oder sie können Einstellungen von Anwendungen beschreiben, die vom Betriebssystem getrennt sind und in der Regel heruntergeladen und auf einem PC installiert werden können. Abhängig von der spezifischen Kategorie der Einstellungen, die sie steuern (Betriebssystem oder Anwendung), befinden sich die Administrativen Vorlageneinstellungen an den folgenden beiden Speicherorten im lokalen Gruppenrichtlinie Editor:

  • Betriebssystemeinstellungen: Computerkonfiguration/Administrative Vorlagen
  • Anwendungseinstellungen: Benutzerkonfiguration/Administrative Vorlagen

In einem Domänencontroller-/Gruppenrichtlinie-Ökosystem werden Gruppenrichtlinien automatisch der Registrierung des Clientcomputers oder Benutzerprofils durch die clientseitige Erweiterung administrativer Vorlagen (Client Side Extension, CSE) hinzugefügt, wenn der Clientcomputer eine Gruppenrichtlinie verarbeitet. Umgekehrt werden in einem MDM-verwalteten Client ADMX-Dateien angewendet, um Richtlinien unabhängig von Gruppenrichtlinien zu definieren. Daher ist in einem MDM-verwalteten Client keine Gruppenrichtlinie-Infrastruktur erforderlich, einschließlich des Gruppenrichtlinie Service (gpsvc.exe).

Eine ADMX-Datei kann entweder mit Windows ausgeliefert werden (befindet sich unter %SystemRoot%\policydefinitions), oder sie kann über den Richtlinien-CSP-URI (./Vendor/MSFT/Policy/ConfigOperations/ADMXInstall) auf einem Gerät erfasst werden. ADMX-Posteingangsdateien werden zur Erstellungszeit des Betriebssystems in MDM-Richtlinien verarbeitet. ADMX-Dateien, die erfasst werden, werden nach dem Versand des Betriebssystems über den Richtlinien-CSP in MDM-Richtlinienrichtlinien verarbeitet. Da der Richtlinien-CSP auf keinen Aspekt des Gruppenrichtlinie Clientstapels angewiesen ist, einschließlich des Gruppenrichtlinie Service (GPSvc) des PCs, können die Richtlinienhandler, die auf dem Gerät erfasst werden, auf richtlinien reagieren, die von der MDM festgelegt werden.

Windows ordnet den Namen und den Kategoriepfad einer Gruppenrichtlinie einem MDM-Richtlinienbereich und Richtliniennamen zu, indem die zugeordnete ADMX-Datei analysiert, die angegebene Gruppenrichtlinie gesucht und die Definition (Metadaten) im MDM-Richtlinien-CSP-Clientspeicher gespeichert wird. Wenn die MDM-Richtlinie einen SyncML-Befehl und den Richtlinien-CSP-URI enthält, .\[device|user]\vendor\msft\policy\[config|result]\<area>\<policy>wird auf diese Metadaten verwiesen und bestimmt, welche Registrierungsschlüssel festgelegt oder entfernt werden. Eine Liste der von MDM unterstützten ADMX-Richtlinien finden Sie unter Richtlinien-CSP – ADMX-Richtlinien.

ADMX-Dateien und die Gruppenrichtlinie Editor

Um die End-to-End-MDM-Behandlung von ADMX-Gruppenrichtlinien zu erfassen, muss ein IT-Administrator eine Benutzeroberfläche wie die Gruppenrichtlinie Editor (gpedit.msc) verwenden, um die erforderlichen Daten zu sammeln. Die Benutzeroberfläche der MDM ISV-Konsole bestimmt, wie die erforderlichen Gruppenrichtlinie Daten vom IT-Administrator gesammelt werden. ADMX-Gruppenrichtlinien sind in einer Hierarchie organisiert und können einen Bereich von Computer, Benutzer oder beidem haben. Im Gruppenrichtlinie Beispiel im nächsten Abschnitt wird eine computerweite Gruppenrichtlinie namens "Publishing Server 2 Settings" (Einstellungen für Veröffentlichungsserver 2) verwendet. Wenn diese Gruppenrichtlinie ausgewählt ist, sind die verfügbaren Status Nicht konfiguriert, Aktiviert und Deaktiviert.

Die ADMX-Datei, die der MDM ISV verwendet, um zu bestimmen, welche Benutzeroberfläche dem IT-Administrator angezeigt werden soll, ist dieselbe ADMX-Datei, die der Client für die Richtliniendefinition verwendet. Die ADMX-Datei wird entweder vom Betriebssystem zur Buildzeit oder vom Client zur Betriebssystemlaufzeit verarbeitet. In beiden Fällen müssen der Client und der MDM-ISV mit den ADMX-Richtliniendefinitionen synchronisiert werden. Jede ADMX-Datei entspricht einer Gruppenrichtlinie Kategorie und enthält in der Regel mehrere Richtliniendefinitionen, von denen jede eine einzelne Gruppenrichtlinie darstellt. Beispielsweise ist die Richtliniendefinition für die "Veröffentlichungsserver 2-Einstellungen" in der Datei appv.admx enthalten, die die Richtliniendefinitionen für die Kategorie Microsoft Application Virtualization (App-V) Gruppenrichtlinie enthält.

einstellung Gruppenrichtlinie Optionsschaltfläche:

  • Wenn Aktiviert ausgewählt ist, werden die erforderlichen Dateneingabesteuerelemente für den Benutzer auf der Benutzeroberfläche angezeigt. Wenn der IT-Administrator die Daten eingibt und Anwenden auswählt, treten die folgenden Ereignisse auf:

    • Der MDM ISV-Server richtet einen Befehl Replace SyncML durch eine Nutzlast ein, die die vom Benutzer eingegebenen Daten enthält.
    • Der MDM-Clientstapel empfängt diese Daten, wodurch der Richtlinien-CSP die Registrierung des Geräts gemäß der ADMX-Richtliniendefinition aktualisiert.
  • Wenn Deaktiviert ausgewählt ist und Sie Übernehmen auswählen, treten die folgenden Ereignisse auf:

    • Der MDM ISV-Server richtet einen Befehl Replace SyncML durch eine Nutzlast ein, die auf <disabled\>festgelegt ist.
    • Der MDM-Clientstapel empfängt diesen Befehl, wodurch der Richtlinien-CSP entweder die Registrierungseinstellungen des Geräts löscht, die Registrierungsschlüssel festlegt oder beides gemäß der von der ADMX-Richtliniendefinition vorgegebenen Zustandsänderung.
  • Wenn Nicht konfiguriert ausgewählt ist und Sie Übernehmen auswählen, treten die folgenden Ereignisse auf:

    • Der MDM ISV-Server richtet einen Delete SyncML-Befehl ein.
    • Der MDM-Clientstapel empfängt diesen Befehl, wodurch der Richtlinien-CSP die Registrierungseinstellungen des Geräts gemäß der ADMX-Richtliniendefinition löscht.

Das folgende Diagramm zeigt die Standard anzeige für die Gruppenrichtlinie Editor.

Gruppenrichtlinie Editor.

Das folgende Diagramm zeigt die Einstellungen für die Gruppenrichtlinie "Veröffentlichungsserver 2-Einstellungen" im Gruppenrichtlinie Editor.

Gruppenrichtlinie Einstellungen des Verlegerservers 2.

Die meisten Gruppenrichtlinien sind ein einfacher boolescher Typ. Wenn Sie bei einem booleschen Gruppenrichtlinie Aktiviert auswählen, enthält der Optionsbereich keine Dateneingabefelder, und die Nutzlast von SyncML ist einfach <enabled/>. Wenn jedoch Dateneingabefelder im Optionsbereich vorhanden sind, muss der MDM-Server diese Daten bereitstellen. Das folgende Beispiel zum Aktivieren eines Gruppenrichtlinie veranschaulicht diese Komplexität. In diesem Beispiel werden 10 Name-Wert-Paare durch <data /> Tags in der Nutzlast beschrieben, die den 10 Dateneingabefeldern im Gruppenrichtlinie Editor Optionsbereich für die Gruppenrichtlinie "Publishing Server 2 Settings" entsprechen. Die ADMX-Datei, die die Gruppenrichtlinien definiert, wird vom MDM-Server verwendet, ähnlich wie sie vom Gruppenrichtlinie Editor verwendet wird. Die Gruppenrichtlinie Editor zeigt eine Benutzeroberfläche an, um die vollständigen Gruppenrichtlinie instance Daten zu erhalten, was auch die IT-Administratorkonsole des MDM-Servers tun muss. Für jedes Element und id-Attribut <text> in der ADMX-Richtliniendefinition müssen ein entsprechendes <data /> Element und id-Attribut in der Nutzlast vorhanden sein. Die ADMX-Datei steuert die Richtliniendefinition und wird vom MDM-Server über das SyncML-Protokoll benötigt.

Wichtig

Alle Dateneingabefelder, die auf der seite Gruppenrichtlinie des Gruppenrichtlinie Editor angezeigt werden, müssen im codierten XML der SyncML-Nutzlast angegeben werden. Die SyncML-Datennutzlast entspricht der vom Benutzer bereitgestellten Gruppenrichtlinie Daten über GPEdit.msc.

Weitere Informationen zum Gruppenrichtlinie Beschreibungsformats finden Sie unter AdMX-Format (Administrative Vorlagendatei). Elemente können Text, MultiText, Boolean, Enum, Decimal oder List sein (weitere Informationen finden Sie unter Richtlinienelemente).

Wenn Sie beispielsweise im Beispiel Aktivieren einer Richtlinie und der entsprechenden ADMX-Richtliniendefinition in der Datei appv.admx nach der Zeichenfolge "Publishing_Server2_Name_Prompt" suchen, finden Sie die folgenden Vorkommen:

Beispiel zum Aktivieren einer Richtlinie:

`<data id="Publishing_Server2_Name_Prompt" value="name"/>`

Appv.admx-Datei:

      <elements>
        <text id="Publishing_Server2_Name_Prompt" valueName="Name" required="true"/>

ADMX-Richtlinienbeispiele

In den folgenden SyncML-Beispielen wird beschrieben, wie Sie eine MDM-Richtlinie festlegen, die von einer ADMX-Vorlage definiert wird, insbesondere die Publishing_Server2_Policy Gruppenrichtlinie Beschreibung in der ADMX-Datei für die Anwendungsvirtualisierung appv.admx. Die Funktionalität, die von diesem Gruppenrichtlinie verwaltet wird, ist nicht wichtig. Sie wird nur verwendet, um zu veranschaulichen, wie ein MDM-ISV eine ADMX-Richtlinie festlegen kann. Diese SyncML-Beispiele veranschaulichen allgemeine Optionen und den entsprechenden SyncML-Code, der zum Testen Ihrer Richtlinien verwendet werden kann. Die Nutzlast des SyncML muss XML-codiert sein. Für diese XML-Codierung können Sie das bevorzugte Onlinetool verwenden. Um die Codierung der Nutzlast zu vermeiden, können Sie CData verwenden, wenn Ihr MDM dies unterstützt. Weitere Informationen finden Sie unter CDATA-Abschnitte.

Aktivieren einer Richtlinie

Nutzlast:

<enabled/>
<data id="Publishing_Server2_Name_Prompt" value="Name"/>
<data id="Publishing_Server_URL_Prompt" value="http://someuri"/>
<data id="Global_Publishing_Refresh_Options" value="1"/>
<data id="Global_Refresh_OnLogon_Options" value="0"/>
<data id="Global_Refresh_Interval_Prompt" value="15"/>
<data id="Global_Refresh_Unit_Options" value="0"/>
<data id="User_Publishing_Refresh_Options" value="0"/>
<data id="User_Refresh_OnLogon_Options" value="0"/>
<data id="User_Refresh_Interval_Prompt" value="15"/>
<data id="User_Refresh_Unit_Options" value="1"/>

SyncML anfordern:

<?xml version="1.0" encoding="utf-8"?>
<SyncML xmlns="SYNCML:SYNCML1.2">
  <SyncBody>
    <Replace>
      <CmdID>2</CmdID>
      <Item>
        <Meta>
          <Format>chr</Format>
          <Type>text/plain</Type>
        </Meta>
        <Target>
          <LocURI>./Device/Vendor/MSFT/Policy/Config/AppVirtualization/PublishingAllowServer2</LocURI>
        </Target>
        <Data>
        <![CDATA[<enabled/><data id="Publishing_Server2_Name_Prompt" value="name prompt"/><data
          id="Publishing_Server_URL_Prompt" value="URL prompt"/><data
          id="Global_Publishing_Refresh_Options" value="1"/><data
          id="Global_Refresh_OnLogon_Options" value="0"/><data
          id="Global_Refresh_Interval_Prompt" value="15"/><data
          id="Global_Refresh_Unit_Options" value="0"/><data
          id="User_Publishing_Refresh_Options" value="0"/><data
          id="User_Refresh_OnLogon_Options" value="0"/><data
          id="User_Refresh_Interval_Prompt" value="15"/><data
          id="User_Refresh_Unit_Options" value="1"/>]]>
        </Data>
      </Item>
    </Replace>
    <Final/>
  </SyncBody>
</SyncML>

AntwortsynchronisierungML:

<Status>
  <CmdID>2</CmdID>
  <MsgRef>1</MsgRef>
  <CmdRef>2</CmdRef>
  <Cmd>Replace</Cmd>
  <Data>200</Data>
</Status>

Deaktivieren einer Richtlinie

Nutzlast:

<disabled/>

SyncML anfordern:

<?xml version="1.0" encoding="utf-8"?>
<SyncML xmlns="SYNCML:SYNCML1.2">
  <SyncBody>
    <Replace>
      <CmdID>2</CmdID>
      <Item>
        <Meta>
          <Format>chr</Format>
          <Type>text/plain</Type>
        </Meta>
        <Target>
          <LocURI>./Device/Vendor/MSFT/Policy/Config/AppVirtualization/PublishingAllowServer2</LocURI>
        </Target>
        <Data><![CDATA[<disabled/>]]></Data>
      </Item>
    </Replace>
    <Final/>
  </SyncBody>
</SyncML>

AntwortsynchronisierungML:

<Status>
  <CmdID>2</CmdID>
  <MsgRef>1</MsgRef>
  <CmdRef>2</CmdRef>
  <Cmd>Replace</Cmd>
  <Data>200</Data>
</Status>

Festlegen einer Richtlinie auf nicht konfiguriert

Nutzlast:

(Keine)

SyncML anfordern:

<?xml version="1.0" encoding="utf-8"?>
<SyncML xmlns="SYNCML:SYNCML1.2">
  <SyncBody>
    <Delete>
      <CmdID>1</CmdID>
      <Item>
        <Target>
          <LocURI>./Device/Vendor/MSFT/Policy/Config/AppVirtualization/PublishingAllowServer2</LocURI>
        </Target>
      </Item>
    </Delete>
    <Final/>
  </SyncBody>
</SyncML>

AntwortsynchronisierungML:

<Status>
  <CmdID>2</CmdID>
  <MsgRef>1</MsgRef>
  <CmdRef>1</CmdRef>
  <Cmd>Delete</Cmd>
  <Data>200</Data>
</Status>

SyncML-Beispiel für verschiedene ADMX-Elemente

In diesem Abschnitt wird syncML-Beispiel für die verschiedenen ADMX-Elemente wie Text, Multi-Text, Decimal, Boolean und List beschrieben.

Wie ein Gruppenrichtlinie Richtlinienkategoriepfad und -name einem MDM-Bereich und richtliniennamen zugeordnet werden

Hier sehen Sie die interne Betriebssystemzuordnung eines Gruppenrichtlinie zu einem MDM-Bereich und -Namen. Diese Zuordnung ist Teil eines Windows-Manifests, das beim kompilierten Analysieren der zugeordneten ADMX-Datei die angegebene Gruppenrichtlinie Richtlinie findet und diese Definition (Metadaten) im MDM-Richtlinien-CSP-Clientspeicher speichert. AdMX-fähige Richtlinien sind hierarchisch organisiert. Ihr Bereich kann Computer, Benutzer oder ein Bereich von beidem sein. Wenn auf die MDM-Richtlinie wie gezeigt über einen SyncML-Befehl und den Richtlinien-CSP-URI verwiesen wird, wird auf diese Metadaten verwiesen und bestimmt, welche Registrierungsschlüssel festgelegt oder entfernt werden. Auf Computerbereichsrichtlinien wird über .\Device und die Benutzerbereichsrichtlinien über .\User verwiesen.

./[Device|User]/Vendor/MSFT/Policy/Config/[config|result]/<area>/<policy>

Die Datennutzlast von SyncML muss codiert werden, damit es nicht zu Konflikten mit den SyncML XML-Tags kommt. Verwenden Sie dieses Onlinetool zum Codieren und Decodieren der Coder-Toolbox für Richtliniendaten.

Codeausschnitt des Manifests für appVirtualization-Bereich:

<identity xmlns="urn:Microsoft.CompPlat/ManifestSchema.v1.00"  xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" owner="Microsoft" namespace="Windows-DeviceManagement-PolicyDefinition" name="AppVirtualization">
  <policyDefinitions>
    <area name="AppVirtualization">
      <policies>
         ...
         <stringPolicy name="PublishingAllowServer2" notSupportedOnPlatform="phone" admxbacked="appv.admx" scope="machine">
            <ADMXPolicy area="appv~AT~System~CAT_AppV~CAT_Publishing" name="Publishing_Server2_Policy" scope="machine" />
           <registryKeyRedirect path="SOFTWARE\Policies\Microsoft\AppV\Client\Publishing\Servers\2" />
         </stringPolicy >
         ...

Der LocURI für die obige GP-Richtlinie lautet:

./Device/Vendor/MSFT/Policy/Config/AppVirtualization/PublishingAllowServer2

Um SyncML für Ihren Bereich/Ihre Richtlinie mithilfe der folgenden Beispiele zu erstellen, müssen Sie die Daten-ID und den Wert im <Data> Abschnitt von SyncML aktualisieren. Die Elemente mit dem Präfix "&" sind die erforderlichen Escapezeichen und können wie gezeigt beibehalten werden.

Textelement

Das text Element entspricht einfach einer Zeichenfolge und entsprechend einem Bearbeitungsfeld in einem Richtlinienbereich, der von gpedit.msc angezeigt wird. Die Zeichenfolge wird in der Registrierung vom Typ REG_SZ gespeichert.

ADMX-Datei: inetres.admx:

<policy name="RestrictHomePage" class="User" displayName="$(string.RestrictHomePage)" explainText="$(string.IE_ExplainRestrictHomePage)" presentation="$(presentation.RestrictHomePage)" key="Software\Policies\Microsoft\Internet Explorer\Control Panel" valueName="HomePage">
  <parentCategory ref="InternetExplorer" />
  <supportedOn ref="SUPPORTED_IE5" />
  <elements>
    <text id="EnterHomePagePrompt" key="Software\Policies\Microsoft\Internet Explorer\Main" valueName="Start Page" required="true" />
  </elements>
</policy>

Entsprechende SyncML:

<?xml version="1.0" encoding="utf-8"?>
<SyncML xmlns="SYNCML:SYNCML1.2">
  <SyncBody>
    <Replace>
      <CmdID>$CmdId$</CmdID>
      <Item>
        <Meta>
          <Format>chr</Format>
          <Type>text/plain</Type>
        </Meta>
        <Target>
          <LocURI>./User/Vendor/MSFT/Policy/Config/InternetExplorer/DisableHomePageChange</LocURI>
        </Target>
        <Data><![CDATA[<enabled/><data id="EnterHomePagePrompt" value="mystartpage"/>]]></Data>
      </Item>
    </Replace>
    <Final/>
  </SyncBody>
</SyncML>

MultiText-Element

Das multiText -Element entspricht einfach einer REG_MULTISZ Registrierungszeichenfolge und entsprechend einem Raster, um mehrere Zeichenfolgen in einen Richtlinienbereich einzugeben, der von gpedit.msc angezeigt wird. Es wird erwartet, dass jede Zeichenfolge in SyncML durch das Unicode-Zeichen 0xF000 (codierte Version: ) getrennt wird. &#xF000;

<policy name="Virtualization_JITVAllowList" class="Machine" displayName="$(string.Virtualization_JITVAllowList)"
        explainText="$(string.Virtualization_JITVAllowList_Help)" presentation="$(presentation.Virtualization_JITVAllowList)"
          key="SOFTWARE\Policies\Microsoft\AppV\Client\Virtualization"
          valueName="ProcessesUsingVirtualComponents">
    <parentCategory ref="CAT_Virtualization" />
    <supportedOn ref="windows:SUPPORTED_Windows7" />
    <elements>
    <multiText id="Virtualization_JITVAllowList_Prompt" valueName="ProcessesUsingVirtualComponents" />
    </elements>
</policy>

Entsprechende SyncML:

<?xml version="1.0" encoding="utf-8"?>
<SyncML xmlns="SYNCML:SYNCML1.2">
  <SyncBody>
    <Replace>
      <CmdID>2</CmdID>
      <Item>
        <Meta>
          <Format>chr</Format>
          <Type>text/plain</Type>
        </Meta>
        <Target>
          <LocURI>./Device/Vendor/MSFT/Policy/Config/AppVirtualization/VirtualComponentsAllowList</LocURI>
        </Target>
        <Data><![CDATA[<enabled/><data id="Virtualization_JITVAllowList_Prompt" value="C:\QuickPatch\TEST\snot.exe&#xF000;C:\QuickPatch\TEST\foo.exe&#xF000;C:\QuickPatch\TEST\bar.exe"/>]]></Data>
      </Item>
    </Replace>
    <Final/>
  </SyncBody>
</SyncML>

List-Element (und seine Variationen)

Das list -Element entspricht einfach einer Struktur von REG_SZ Registrierungszeichenfolgen und entsprechend einem Raster, um mehrere Zeichenfolgen in einen Richtlinienbereich einzugeben, der von gpedit.msc angezeigt wird. Wie dieses Element in SyncML dargestellt wird, ist eine Zeichenfolge, die Zeichenfolgenpaare enthält. Jedes Paar ist ein REG_SZ Name/Wert-Schlüssel. Es empfiehlt sich, die Richtlinie über gpedit.msc (als Administrator ausführen) anzuwenden und zum Speicherort der Registrierungsstruktur zu wechseln und zu sehen, wie die Listenwerte gespeichert werden. Dieser Speicherort gibt Ihnen eine Vorstellung davon, wie die Name-Wert-Paare gespeichert werden, um sie über SyncML auszudrücken.

Hinweis

Es wird erwartet, dass jede Zeichenfolge in SyncML durch das Unicode-Zeichen 0xF000 (codierte Version: &#xF000;) getrennt wird.

Variationen des list Elements werden durch Attribute vorgegeben. Diese Attribute werden von der Policy Manager-Runtime ignoriert. Es wird erwartet, dass der MDM-Server die Name-Wert-Paare verwaltet. Hier finden Sie einige Beispiele für die Gruppenrichtlinie List.

ADMX-Datei: inetres.admx:

<policy name="SecondaryHomePages" class="Both" displayName="$(string.SecondaryHomePages)" explainText="$(string.IE_ExplainSecondaryHomePages)" presentation="$(presentation.SecondaryHomePages)" key="Software\Policies\Microsoft\Internet Explorer\Main\SecondaryStartPages">
  <parentCategory ref="InternetExplorer" />
  <supportedOn ref="SUPPORTED_IE8" />
  <elements>
    <list id="SecondaryHomePagesList" additive="true" />
  </elements>
</policy>

Entsprechende SyncML:

<SyncML xmlns="SYNCML:SYNCML1.2">
  <SyncBody>
    <Replace>
      <CmdID>2</CmdID>
      <Item>
        <Meta>
          <Format>chr</Format>
          <Type>text/plain</Type>
        </Meta>
        <Target>
          <LocURI>./User/Vendor/MSFT/Policy/Config/InternetExplorer/DisableSecondaryHomePageChange</LocURI>
        </Target>
        <Data><![CDATA[<Enabled/><Data id="SecondaryHomePagesList" value="http://name1&#xF000;http://name1&#xF000;http://name2&#xF000;http://name2"/>]]></Data>
      </Item>
    </Replace>
    <Final/>
  </SyncBody>
</SyncML>

Keine Elemente

<policy name="NoUpdateCheck" class="Machine" displayName="$(string.NoUpdateCheck)" explainText="$(string.IE_ExplainNoUpdateCheck)" key="Software\Policies\Microsoft\Internet Explorer\Infodelivery\Restrictions" valueName="NoUpdateCheck">
  <parentCategory ref="InternetExplorer" />
  <supportedOn ref="SUPPORTED_IE5_6" />
</policy>

Entsprechende SyncML:

<SyncML xmlns="SYNCML:SYNCML1.2">
  <SyncBody>
    <Replace>
      <CmdID>2</CmdID>
      <Item>
        <Meta>
          <Format>chr</Format>
          <Type>text/plain</Type>
        </Meta>
        <Target>
          <LocURI>./Device/Vendor/MSFT/Policy/Config/InternetExplorer/DisableUpdateCheck</LocURI>
        </Target>
        <Data><![CDATA[<Enabled/>]]></Data>
      </Item>
    </Replace>
    <Final/>
  </SyncBody>
</SyncML>

Enumeration

<policy name="EncryptionMethodWithXts_Name" class="Machine" displayName="$(string.EncryptionMethodWithXts_Name)" explainText="$(string.EncryptionMethodWithXts_Help)" presentation="$(presentation.EncryptionMethodWithXts_Name)" key="SOFTWARE\Policies\Microsoft\FVE">
    <parentCategory ref="FVECategory" />
    <!--Bug OS:4242178 -->
    <supportedOn ref="windows:SUPPORTED_Windows_10_0" />
    <elements>
        <enum id="EncryptionMethodWithXtsOsDropDown_Name" valueName="EncryptionMethodWithXtsOs" required="true">
            <item displayName="$(string.EncryptionMethodDropDown_AES128_Name2)">
                <value>
                    <decimal value="3" />
                </value>
            </item>
            <item displayName="$(string.EncryptionMethodDropDown_AES256_Name2)">
                <value>
                    <decimal value="4" />
                </value>
            </item>
            <item displayName="$(string.EncryptionMethodDropDown_XTS_AES128_Name)">
                <value>
                    <decimal value="6" />
                </value>
            </item>
            <item displayName="$(string.EncryptionMethodDropDown_XTS_AES256_Name)">
                <value>
                    <decimal value="7" />
                </value>
            </item>
        </enum>
   </elements>
</policy>

Entsprechende SyncML:

<SyncML xmlns="SYNCML:SYNCML1.2">
  <SyncBody>
    <Replace>
      <CmdID>2</CmdID>
      <Item>
        <Target>
          <LocURI>./Device/Vendor/MSFT/Policy/Config/BitLocker/EncryptionMethodByDriveType</LocURI>
        </Target>
        <Data>
          <![CDATA[<enabled/>
          <data id="EncryptionMethodWithXtsOsDropDown_Name" value="4"/>]]>
        </Data>
      </Item>
    </Replace>
    <Final/>
  </SyncBody>
</SyncML>

Decimal-Element

<policy name="Streaming_Reestablishment_Interval" class="Machine" displayName="$(string.Streaming_Reestablishment_Interval)"
            explainText="$(string.Streaming_Reestablishment_Interval_Help)"
            presentation="$(presentation.Streaming_Reestablishment_Interval)"
            key="SOFTWARE\Policies\Microsoft\AppV\Client\Streaming">
    <parentCategory ref="CAT_Streaming" />
    <supportedOn ref="windows:SUPPORTED_Windows7" />
    <elements>
        <decimal id="Streaming_Reestablishment_Interval_Prompt" valueName="ReestablishmentInterval" minValue="0" maxValue="3600"/>
    </elements>
</policy>

Entsprechende SyncML:

<SyncML xmlns="SYNCML:SYNCML1.2">
  <SyncBody>
    <Replace>
      <CmdID>2</CmdID>
      <Item>
        <Target>
          <LocURI>./Device/Vendor/MSFT/Policy/Config/AppVirtualization/StreamingAllowReestablishmentInterval</LocURI>
        </Target>
        <Data>
          <![CDATA[<enabled/>
          <data id="Streaming_Reestablishment_Interval_Prompt" value="4"/>]]>
        </Data>
      </Item>
    </Replace>
    <Final/>
  </SyncBody>
</SyncML>

Boolesches Element

<policy name="DeviceInstall_Classes_Deny" class="Machine" displayName="$(string.DeviceInstall_Classes_Deny)" explainText="$(string.DeviceInstall_Classes_Deny_Help)" presentation="$(presentation.DeviceInstall_Classes_Deny)" key="Software\Policies\Microsoft\Windows\DeviceInstall\Restrictions" valueName="DenyDeviceClasses">
    <parentCategory ref="DeviceInstall_Restrictions_Category" />
    <supportedOn ref="windows:SUPPORTED_WindowsVista" />
    <enabledValue>
    <decimal value="1" />
    </enabledValue>
    <disabledValue>
    <decimal value="0" />
    </disabledValue>
    <elements>
        <list id="DeviceInstall_Classes_Deny_List" key="Software\Policies\Microsoft\Windows\DeviceInstall\Restrictions\DenyDeviceClasses" valuePrefix="" />
        <boolean id="DeviceInstall_Classes_Deny_Retroactive" valueName="DenyDeviceClassesRetroactive" >
            <trueValue>
                <decimal value="1" />
            </trueValue>
            <falseValue>
                <decimal value="0" />
            </falseValue>
        </boolean>
    </elements>
</policy>

Entsprechende SyncML:

<?xml version="1.0" encoding="utf-8"?>
<SyncML xmlns="SYNCML:SYNCML1.2">
  <SyncBody>
    <Replace>
      <CmdID>2</CmdID>
      <Item>
        <Meta>
          <Format>chr</Format>
          <Type>text/plain</Type>
        </Meta>
        <Target>
          <LocURI>./Device/Vendor/MSFT/Policy/Config/DeviceInstallation/PreventInstallationOfMatchingDeviceSetupClasses</LocURI>
        </Target>
        <Data>
          <![CDATA[<enabled/><data id="DeviceInstall_Classes_Deny_Retroactive" value="true"/>
          <Data id="DeviceInstall_Classes_Deny_List" value="1&#xF000;deviceId1&#xF000;2&#xF000;deviceId2"/>]]>
        </Data>
      </Item>
    </Replace>
    <Final/>
  </SyncBody>
</SyncML>