ADMX ポリシーについて

シンプルさが向上し、デバイスをターゲットにできる使いやすさにより、企業は PC 管理をクラウドベースのデバイス管理ソリューションに移行することにますます有利であると考えています。 残念ながら、最新の Windows PC デバイス管理ソリューションには、従来の PC 管理ソリューションでサポートされている重要なポリシーとアプリ設定の構成機能がありません。

Windows 10 バージョン 1703 以降では、Mobile デバイス管理 (MDM) ポリシー構成のサポートが拡張され、ポリシー構成サービス プロバイダー (CSP) を介して Windows PC 用のグループ ポリシー管理テンプレート (ADMX ポリシー) の選択したセットへのアクセスが許可されます。 これにより、企業はデバイスのコンプライアンスを維持し、クラウド経由で管理されるデバイスのセキュリティを損なうリスクを防ぐことができます。

Background

標準の MDM ポリシーに加えて、ポリシー CSP は、選択した ADMX ポリシーのセットを処理することもできます。 ADMX ポリシーでは、管理用テンプレートには Windows グループ ポリシーのメタデータが含まれており、PC のローカル グループ ポリシー エディターで編集できます。 各管理テンプレートは、グループ ポリシーに関連付けられているレジストリ キー (とその値) を指定し、管理できるポリシー設定を定義します。 管理用テンプレートは、階層パス内の各セグメントがカテゴリとして定義されている階層でグループ ポリシーを整理します。 グループ ポリシー管理テンプレートの各設定は、特定のレジストリ値に対応します。 これらのグループ ポリシー設定は、ADMX ファイルと呼ばれる標準ベースの XML ファイル形式で定義されます。 詳細については、「グループ ポリシー ADMX 構文リファレンス ガイド」を参照してください

ADMX ファイルは、Windows に付属するオペレーティング システム (OS) グループ ポリシーを記述することも、OS とは別に、通常は PC にダウンロードしてインストールできるアプリケーションの設定を記述することもできます。 管理テンプレート設定は、制御する設定の特定のカテゴリ (OS またはアプリケーション) に応じて、ローカル グループ ポリシー エディターの次の 2 つの場所にあります。

  • OS 設定: コンピューターの構成/管理用テンプレート
  • アプリケーション設定: ユーザー構成/管理用テンプレート

ドメイン コントローラー/グループ ポリシー エコシステムでは、クライアント コンピューターがグループ ポリシーを処理するたびに、管理用テンプレート クライアント側拡張機能 (CSE) によって、クライアント コンピューターまたはユーザー プロファイルのレジストリにグループ ポリシーが自動的に追加されます。 逆に、MDM で管理されるクライアントでは、グループ ポリシーに依存しないポリシーを定義するために ADMX ファイルが適用されます。 そのため、MDM で管理されるクライアントでは、グループ ポリシー サービス (gpsvc.exe) を含むグループ ポリシー インフラストラクチャは必要ありません。

ADMX ファイルは、Windows ( %SystemRoot%\policydefinitionsにあります) と共に配布することも、ポリシー CSP URI (./Vendor/MSFT/Policy/ConfigOperations/ADMXInstall) を介してデバイスに取り込むことができます。 受信トレイ ADMX ファイルは、OS ビルド時に MDM ポリシーに処理されます。 取り込まれた ADMX ファイルは、ポリシー CSP を介して OS 出荷後に MDM ポリシーに処理されます。 ポリシー CSP は、PC の グループ ポリシー Service (GPSvc) など、グループ ポリシー クライアント スタックのどの側面にも依存しないため、デバイスに取り込まれるポリシー ハンドラーは、MDM によって設定されたポリシーに対応できます。

Windows では、関連付けられている ADMX ファイルを解析し、指定したグループ ポリシーを検索し、MDM Policy CSP クライアント ストアに定義 (メタデータ) を格納することで、グループ ポリシーの名前とカテゴリ パスを MDM ポリシー領域とポリシー名にマップします。 MDM ポリシーが SyncML コマンドとポリシー CSP URI によって参照されている場合、このメタデータが参照され、 .\[device|user]\vendor\msft\policy\[config|result]\<area>\<policy>設定または削除されるレジストリ キーが決定されます。 MDM でサポートされる ADMX ポリシーの一覧については、「 ポリシー CSP - ADMX ポリシー」を参照してください。

ADMX ファイルとグループ ポリシー エディター

ADMX グループ ポリシーのエンド ツー エンドの MDM 処理をキャプチャするには、IT 管理者は、グループ ポリシー エディター (gpedit.msc) などの UI を使用して必要なデータを収集する必要があります。 MDM ISV コンソール UI は、IT 管理者から必要なグループ ポリシー データを収集する方法を決定します。 ADMX グループ ポリシーは階層に編成され、マシン、ユーザー、またはその両方のスコープを持つことができます。 次のセクションのグループ ポリシー例では、"Publishing Server 2 Settings" という名前のコンピューター全体のグループ ポリシーを使用します。 このグループ ポリシーを選択すると、使用可能な状態は [未構成]、[有効]、[無効] になります

MDM ISV が IT 管理者に表示する UI を決定するために使用する ADMX ファイルは、クライアントがポリシー定義に使用するのと同じ ADMX ファイルです。 ADMX ファイルは、ビルド時に OS によって処理されるか、OS 実行時にクライアントによって設定されます。 どちらの場合も、クライアントと MDM ISV を ADMX ポリシー定義と同期する必要があります。 各 ADMX ファイルは、グループ ポリシー カテゴリに対応し、通常は複数のポリシー定義を含み、それぞれが 1 つのグループ ポリシーを表します。 たとえば、"Publishing Server 2 Settings" のポリシー定義は appv.admx ファイルに含まれており、Microsoft Application Virtualization (App-V) グループ ポリシー カテゴリのポリシー定義を保持します。

グループ ポリシー オプション ボタンの設定:

  • [有効] が選択されている場合、UI にユーザーに必要なデータ入力コントロールが表示されます。 IT 管理者がデータを入力し、[ 適用] をクリックすると、次のイベントが発生します。

    • MDM ISV サーバーは、ユーザーが入力したデータを含むペイロードで SyncML の置換コマンドを設定します。
    • MDM クライアント スタックはこのデータを受け取ります。これにより、ポリシー CSP は ADMX ポリシー定義に従ってデバイスのレジストリを更新します。
  • [無効] が選択され、[適用] をクリックすると、次のイベントが発生します。

    • MDM ISV サーバーは、ペイロードを に設定して SyncML の置換コマンドを <disabled\>設定します。
    • MDM クライアント スタックは、このコマンドを受け取ります。これにより、ポリシー CSP は、ADMX ポリシー定義によって指示された状態変更に従って、デバイスのレジストリ設定を削除するか、レジストリ キーを設定するか、両方を設定します。
  • [未構成] が選択され、[適用] をクリックすると、次のイベントが発生します。

    • MDM ISV サーバーは、SyncML の削除コマンドを設定します。
    • MDM クライアント スタックは、このコマンドを受け取ります。これにより、ポリシー CSP は ADMX ポリシー定義に従ってデバイスのレジストリ設定を削除します。

次の図は、グループ ポリシー エディターのメイン ディスプレイを示しています。

エディターグループ ポリシー。

次の図は、グループ ポリシー エディターの [発行サーバー 2 の設定] グループ ポリシーの設定を示しています。

パブリッシャー サーバー 2 の設定をグループ ポリシーします。

ほとんどのグループ ポリシーは単純なブール型です。 ブール型のグループ ポリシーの場合、[有効] を選択すると、オプション パネルにデータ入力フィールドが含まれており、SyncML のペイロードは単純です<enabled/>。 ただし、オプション パネルにデータ入力フィールドがある場合は、MDM サーバーがこのデータを提供する必要があります。 次のグループ ポリシーの例を有効にすると、この複雑さが示されています。 この例では、ペイロード内のタグによって <data /> 10 個の名前と値のペアが記述されています。これは、"Publishing Server 2 Settings" グループ ポリシーの [グループ ポリシー エディター] オプション パネルの 10 個のデータ入力フィールドに対応します。 グループ ポリシーを定義する ADMX ファイルは、グループ ポリシー エディターで使用される方法と同様に、MDM サーバーによって使用されます。 グループ ポリシー エディターには、MDM サーバーの IT 管理者コンソールも実行する必要がある完全なグループ ポリシー インスタンス データを受け取る UI が表示されます。 ADMX ポリシー定義内のすべての <text> 要素と ID 属性について、ペイロードに対応する <data /> 要素と ID 属性が必要です。 ADMX ファイルはポリシー定義を駆動し、SyncML プロトコルを介して MDM サーバーで必要です。

重要

グループ ポリシー エディターの [グループ ポリシー] ページに表示されるデータ入力フィールドは、SyncML ペイロードのエンコードされた XML で指定する必要があります。 SyncML データ ペイロードは、GPEdit.msc を介してユーザーが指定したグループ ポリシー データと同じです。

グループ ポリシーの説明形式の詳細については、「管理用テンプレート ファイル (ADMX) 形式」を参照してください。 要素には、Text、MultiText、Boolean、Enum、Decimal、List のいずれかを指定できます (詳細については、「 ポリシー要素」を参照してください)。

たとえば、appv.admx ファイルでポリシーの 有効化 の例とそれに対応する ADMX ポリシー定義の両方で"Publishing_Server2_Name_Prompt" という文字列を検索すると、次の状況が発生します。

ポリシーの有効化の例:

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

Appv.admx ファイル:

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

ADMX ポリシーの例

次の SyncML の例では、ADMX テンプレートによって定義される MDM ポリシーを設定する方法について説明します。具体的には、アプリケーション仮想化 ADMX ファイル appv.admx のPublishing_Server2_Policy グループ ポリシー説明を参照してください。 このグループ ポリシーが管理する機能は重要ではありません。MDM ISV で ADMX ポリシーを設定する方法のみを示すために使用されます。 これらの SyncML の例は、一般的なオプションと、ポリシーのテストに使用できる対応する SyncML コードを示しています。 SyncML のペイロードは XML エンコードされている必要があります。この XML エンコードでは、お気に入りのオンライン ツールを使用できます。 ペイロードのエンコードを回避するために、MDM でサポートされている場合は CData を使用できます。 詳細については、「 CDATA セクション」を参照してください。

ポリシーの有効化

ペイロード

<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 を要求する

<?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>

応答 SyncML

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

ポリシーの無効化

ペイロード

<disabled/>

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/PublishingAllowServer2</LocURI>
        </Target>
        <Data><![CDATA[<disabled/>]]></Data>
      </Item>
    </Replace>
    <Final/>
  </SyncBody>
</SyncML>
''''

**Response SyncML**
```XML
<Status>
  <CmdID>2</CmdID>
  <MsgRef>1</MsgRef>
  <CmdRef>2</CmdRef>
  <Cmd>Replace</Cmd>
  <Data>200</Data>
</Status>

ポリシーを未構成に設定する

ペイロード

(なし)

SyncML を要求する

<?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>

応答 SyncML

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

さまざまな ADMX 要素のサンプル SyncML

このセクションでは、Text、Multi-Text、Decimal、Boolean、List などのさまざまな ADMX 要素のサンプル SyncML について説明します。

グループ ポリシー ポリシー カテゴリのパスと名前を MDM 領域とポリシー名にマップする方法

次に、グループ ポリシーと MDM 領域と名前の内部 OS マッピングを示します。 このマッピングは、一連の Windows マニフェストの一部であり、コンパイルによって関連する ADMX ファイルが解析されると、指定されたグループ ポリシー ポリシーが検索され、その定義 (メタデータ) が MDM ポリシー CSP クライアント ストアに格納されます。 ADMX によってサポートされるポリシーは、階層的に編成されます。 スコープは、 コンピューターユーザー、または 両方のスコープを持つことができます。 次に示すように、SYNCML コマンドとポリシー CSP URI を使用して MDM ポリシーを参照すると、このメタデータが参照され、設定または削除されるレジストリ キーが決定されます。 マシン スコープ ポリシーは、.\Device を介して参照され、ユーザー スコープ ポリシーは .\User を介して参照されます。

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

定型の SyncML XML タグと競合しないように、SyncML のデータ ペイロードをエンコードする必要があります。 このオンライン ツールを使用して、ポリシー データのエンコードとエンコード を行う Coder のツールボックス

AppVirtualization 領域のマニフェストのスニペット:

<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 >
.
.
.

上記の GP ポリシーの LocURI は次のとおりです。

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

以下のサンプルを使用して地域/ポリシーの SyncML を構築するには、SyncML のセクションの データ ID<Data> 更新する必要があります。 "&" 文字のプレフィックスが付いた項目は、必要なエスケープ文字であり、示すように保持できます。

Text 要素

要素は text 単に文字列に対応し、それに対応して gpedit.msc によるポリシー パネル表示の編集ボックスに対応します。 文字列は、REG_SZ型のレジストリに格納されます。

ADMX ファイル: 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>

対応する 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 要素

要素は multiText 、単にREG_MULTISZレジストリ文字列に対応し、それに対応してグリッドに対応して、gpedit.msc によってポリシー パネルの表示に複数の文字列を入力します。 SyncML 内の各文字列は、Unicode 文字0xF000 (エンコードされたバージョン: &#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>

対応する 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 要素 (およびそのバリエーション)

要素は list 、単にREG_SZレジストリ文字列のハイブに対応し、それに対応してグリッドに対応して、gpedit.msc によってポリシー パネルの表示に複数の文字列を入力します。 SyncML でこの要素を表す方法は、文字列のペアを含む文字列として表されます。 各ペアは、REG_SZの名前/値キーです。 gpedit.msc (管理者として実行) を使用してポリシーを適用し、レジストリ ハイブの場所に移動し、リスト値の格納方法を確認することをお勧めします。 この場所では、名前と値のペアを保存して SyncML を使用して表現する方法を把握できます。

注意

SyncML 内の各文字列は、Unicode 文字0xF000 (エンコードされたバージョン: &#xF000;) で区切ることが想定されています。

要素の list バリエーションは属性によって決まります。 これらの属性は、Policy Manager ランタイムによって無視されます。 MDM サーバーが名前と値のペアを管理することが予想されます。 グループ ポリシーリストの簡単な書き込みについては、以下を参照してください。

ADMX ファイル: 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>

対応する 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>

要素なし

<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>

対応する 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>

Enum

<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>

対応する 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 要素

<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>

対応する 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>

Boolean 要素

<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>

対応する 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>