次の方法で共有


DeclaredConfiguration CSP

Windows Insider のロゴ。

重要

この CSP には、開発中であり、Windows Insider Preview ビルド にのみ適用される一部の設定が含まれています。 これらの設定は変更する可能性があり、プレビューで他の機能やサービスに依存する場合があります。

プライマリ MDM モデルは、MDM サーバーが構成シナリオに対するデバイスの状態のオーケストレーションと継続的なメンテナンスのみを担当するモデルです。 この動作により、OMA-DM Syncml 標準に基づく同期構成モデルにより、ネットワーク トラフィックが集中的に発生し、ネットワーク待機時間が長くなります。 また、サーバーにクライアントに関する深い知識が必要であることを考えると、エラーが発生しやすくなります。

Windows 宣言構成 (WinDC) デバイス管理モデルでは、シナリオ構成のすべての設定値をデバイスに配信するサーバーが必要です。 サーバーは、DeclaredConfiguration CSP を介して非同期的にバッチで送信します。

  • クライアントによって開始される OMA-DM セッション中に、WinDC サーバーは 、DeclaredConfiguration CSP URI を介して構成またはインベントリ WinDC ドキュメントをクライアントに送信します。 デバイスがドキュメントの構文が正しいことを確認した場合、クライアント スタックは要求をオーケストレーターにプッシュして要求を非同期的に処理します。 次に、クライアント スタックが終了し、WinDC サービスにコントロールを返します。 この動作により、デバイスは要求を非同期的に処理できます。

  • クライアントでは、処理中または完了中の要求がある場合は、 汎用アラート がサーバーに送信されます。 このアラートは、各ドキュメントの状態、状態、進行状況をまとめたものです。 WinDC OMA-DM サーバーに対するすべてのクライアント HTTPS 要求には、この概要が含まれます。

  • WinDC サーバーは、汎用アラートを使用して、正常に完了した要求またはエラーが発生した要求を判断します。 その後、サーバーは DeclaredConfiguration CSP URI を使用して WinDC ドキュメント プロセスの結果を同期的に取得できます。

次の一覧は、DeclaredConfiguration 構成サービス プロバイダー ノードを示しています。

Host

適用範囲 エディション 対象となる OS
✅ デバイス
❌ ユーザー
✅ Pro
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows Insider Preview
./Device/Vendor/MSFT/DeclaredConfiguration/Host

ホスト内部ノードは、構成要求またはインベントリ要求のターゲットがホスト OS であることを示します。 このノードは、エンクレーブが構成の対象になる場合のスコープ用です。

説明フレームワークのプロパティ:

プロパティ名 プロパティ値
形式 node
アクセスの種類 追加、削除、取得

Host/Complete

適用範囲 エディション 対象となる OS
✅ デバイス
❌ ユーザー
✅ Pro
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows Insider Preview
./Device/Vendor/MSFT/DeclaredConfiguration/Host/Complete

この内部ノードは、構成に個別の設定値があり、後で追加のデータで解決する必要があるプレースホルダーを含まない完全な設定と値のペアを持つ自己完結型であることを示します。 要求をそのまま処理する準備が整いました。

Complete 要求のサーバーからクライアントへのフローは、インベントリ要求と同じです。

説明フレームワークのプロパティ:

プロパティ名 プロパティ値
形式 node
アクセスの種類 追加、削除、取得

ホスト/完了/ドキュメント

適用範囲 エディション 対象となる OS
✅ デバイス
❌ ユーザー
✅ Pro
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows Insider Preview
./Device/Vendor/MSFT/DeclaredConfiguration/Host/Complete/Documents

[ドキュメント] ノードは、構成がドキュメントの形式であることを示します。これは、宣言された構成スタックによってシナリオを構成するために使用される設定のコレクションです。

説明フレームワークのプロパティ:

プロパティ名 プロパティ値
形式 node
アクセスの種類 追加、削除、取得
Host/Complete/Documents/{DocID}
適用範囲 エディション 対象となる OS
✅ デバイス
❌ ユーザー
✅ Pro
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows Insider Preview
./Device/Vendor/MSFT/DeclaredConfiguration/Host/Complete/Documents/{DocID}

構成ドキュメントを一意に識別します。 この ID を持つドキュメントは他にありません。ID は GUID にする必要があります。

説明フレームワークのプロパティ:

プロパティ名 プロパティ値
形式 node
アクセスの種類 追加、削除、取得
動的ノードの名前付け ServerGeneratedUniqueIdentifier
指定可能な値 正規表現: [0-9A-Fa-f]{8}\-[0-9A-Fa-f]{4}\-[0-9A-Fa-f]{4}\-[0-9A-Fa-f]{4}\-[0-9A-Fa-f]{12}
Host/Complete/Documents/{DocID}/Document
適用範囲 エディション 対象となる OS
✅ デバイス
❌ ユーザー
✅ Pro
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows Insider Preview
./Device/Vendor/MSFT/DeclaredConfiguration/Host/Complete/Documents/{DocID}/Document

[ドキュメント] ノードの値は、指定したシナリオを構成するための設定と値のコレクションを含む XML ベースのドキュメントです。 Declared Configuration スタックはドキュメントの構文を検証します。スタックは、クライアントによって非同期的に処理されるドキュメントをマークします。 その後、スタックは制御を OMA-DM サービスに戻します。 さらに、スタックは要求を非同期的に処理します。 次に、宣言された構成 URI ./Device/Vendor/MSFT/DeclaredConfiguration/Host/Complete/Documents/27FEA311-68 を使用した、指定した目的の状態構成の例を示します。 B9-4320-9。 FC4-296。 F6FDFAFE2/ドキュメント。

説明フレームワークのプロパティ:

プロパティ名 プロパティ値
形式 chr (string)
アクセスの種類 追加、削除、取得、置換
Host/Complete/Documents/{DocID}/Properties
適用範囲 エディション 対象となる OS
✅ デバイス
❌ ユーザー
✅ Pro
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows Insider Preview
./Device/Vendor/MSFT/DeclaredConfiguration/Host/Complete/Documents/{DocID}/Properties

[プロパティ] ノードは、[DocID] によって参照される指定されたドキュメントに適用されるプロパティの一覧をカプセル化します。

説明フレームワークのプロパティ:

プロパティ名 プロパティ値
形式 node
アクセスの種類 追加、削除、取得
Host/Complete/Documents/{DocID}/Properties/Abandoned
適用範囲 エディション 対象となる OS
✅ デバイス
❌ ユーザー
✅ Pro
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows Insider Preview
./Device/Vendor/MSFT/DeclaredConfiguration/Host/Complete/Documents/{DocID}/Properties/Abandoned

破棄されたノードを使用すると、OMA-DM サーバーはドキュメントが管理されなくなったことを示すことができます。

説明フレームワークのプロパティ:

プロパティ名 プロパティ値
形式 int
アクセスの種類 追加、削除、取得、置換
既定値 0

指定可能な値

説明
0 (既定値) ドキュメントは管理されなくなりました。
1 ドキュメントは管理されます。

Host/Complete/Results

適用範囲 エディション 対象となる OS
✅ デバイス
❌ ユーザー
✅ Pro
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows Insider Preview
./Device/Vendor/MSFT/DeclaredConfiguration/Host/Complete/Results

[結果] ノードは、これが構成要求の結果を含む XML ドキュメントを返す URI パスの一部であることを示します。

説明フレームワークのプロパティ:

プロパティ名 プロパティ値
形式 node
アクセスの種類 [ゲームをゲット] を選びます
Host/Complete/Results/{DocID}
適用範囲 エディション 対象となる OS
✅ デバイス
❌ ユーザー
✅ Pro
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows Insider Preview
./Device/Vendor/MSFT/DeclaredConfiguration/Host/Complete/Results/{DocID}

構成要求の結果が返される構成ドキュメントを一意に識別します。

説明フレームワークのプロパティ:

プロパティ名 プロパティ値
形式 node
アクセスの種類 [ゲームをゲット] を選びます
動的ノードの名前付け ClientInventory
Host/Complete/Results/{DocID}/Document
適用範囲 エディション 対象となる OS
✅ デバイス
❌ ユーザー
✅ Pro
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows Insider Preview
./Device/Vendor/MSFT/DeclaredConfiguration/Host/Complete/Results/{DocID}/Document

Document ノードの値は、[DocId] で指定された構成要求からの設定結果のコレクションを含む XML ベースのドキュメントです。

説明フレームワークのプロパティ:

プロパティ名 プロパティ値
形式 chr (string)
アクセスの種類 [ゲームをゲット] を選びます

ホスト/インベントリ

適用範囲 エディション 対象となる OS
✅ デバイス
❌ ユーザー
✅ Pro
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows Insider Preview
./Device/Vendor/MSFT/DeclaredConfiguration/Host/Inventory

Inventory 内部ノードは、これがインベントリ要求であることを示します。 取得する設定値は、ドキュメント リーフ ノードを介して XML ドキュメントで指定されます。

インベントリ要求のサーバーからクライアントへのフローは、Complete 要求と同じです。

説明フレームワークのプロパティ:

プロパティ名 プロパティ値
形式 node
アクセスの種類 追加、削除、取得

ホスト/インベントリ/ドキュメント

適用範囲 エディション 対象となる OS
✅ デバイス
❌ ユーザー
✅ Pro
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows Insider Preview
./Device/Vendor/MSFT/DeclaredConfiguration/Host/Inventory/Documents

[ドキュメント] ノードは、インベントリ要求がドキュメントの形式であることを示します。これは、その値を取得するために使用される設定のコレクションです。

説明フレームワークのプロパティ:

プロパティ名 プロパティ値
形式 node
アクセスの種類 追加、削除、取得
Host/Inventory/Documents/{DocID}
適用範囲 エディション 対象となる OS
✅ デバイス
❌ ユーザー
✅ Pro
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows Insider Preview
./Device/Vendor/MSFT/DeclaredConfiguration/Host/Inventory/Documents/{DocID}

インベントリ ドキュメントを一意に識別します。 この ID を持つドキュメントは他にありません。ID は GUID にする必要があります。

説明フレームワークのプロパティ:

プロパティ名 プロパティ値
形式 node
アクセスの種類 追加、削除、取得
動的ノードの名前付け ServerGeneratedUniqueIdentifier
指定可能な値 正規表現: [0-9A-Fa-f]{8}\-[0-9A-Fa-f]{4}\-[0-9A-Fa-f]{4}\-[0-9A-Fa-f]{4}\-[0-9A-Fa-f]{12}
Host/Inventory/Documents/{DocID}/Document
適用範囲 エディション 対象となる OS
✅ デバイス
❌ ユーザー
✅ Pro
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows Insider Preview
./Device/Vendor/MSFT/DeclaredConfiguration/Host/Inventory/Documents/{DocID}/Document

[ドキュメント] ノードの値は、値の取得に使用される設定のコレクションを含む XML ベースのドキュメントです。 Declared Configuration スタックはドキュメントの構文を検証します。スタックは、クライアントによって非同期的に処理されるドキュメントをマークします。 その後、スタックは制御を OMA-DM サービスに戻します。 さらに、スタックは要求を非同期的に処理します。 次に、宣言された構成 URI ./Device/Vendor/MSFT/DeclaredConfiguration/Host/Inventory/Documents/27FEA311-68 を使用した、指定した目的の状態構成の例を示します。 B9-4320-9。 FC4-296。 F6FDFAFE2/ドキュメント。

説明フレームワークのプロパティ:

プロパティ名 プロパティ値
形式 chr (string)
アクセスの種類 追加、削除、取得、置換

ホスト/インベントリ/結果

適用範囲 エディション 対象となる OS
✅ デバイス
❌ ユーザー
✅ Pro
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows Insider Preview
./Device/Vendor/MSFT/DeclaredConfiguration/Host/Inventory/Results

[結果] ノードは、これが、インベントリ要求の結果を含む XML ドキュメントを返す URI パスの一部であることを示します。

説明フレームワークのプロパティ:

プロパティ名 プロパティ値
形式 node
アクセスの種類 [ゲームをゲット] を選びます
Host/Inventory/Results/{DocID}
適用範囲 エディション 対象となる OS
✅ デバイス
❌ ユーザー
✅ Pro
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows Insider Preview
./Device/Vendor/MSFT/DeclaredConfiguration/Host/Inventory/Results/{DocID}

インベントリ ドキュメントを一意に識別します。 この ID を持つドキュメントは他にありません。ID は GUID にする必要があります。

説明フレームワークのプロパティ:

プロパティ名 プロパティ値
形式 node
アクセスの種類 [ゲームをゲット] を選びます
動的ノードの名前付け ClientInventory
Host/Inventory/Results/{DocID}/Document
適用範囲 エディション 対象となる OS
✅ デバイス
❌ ユーザー
✅ Pro
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows Insider Preview
./Device/Vendor/MSFT/DeclaredConfiguration/Host/Inventory/Results/{DocID}/Document

Document ノードの値は、[DocId] で指定されたインベントリ要求からの設定結果のコレクションを含む XML ベースのドキュメントです。

説明フレームワークのプロパティ:

プロパティ名 プロパティ値
形式 chr (string)
アクセスの種類 [ゲームをゲット] を選びます

ManagementServiceConfiguration

適用範囲 エディション 対象となる OS
✅ デバイス
❌ ユーザー
✅ Pro
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows Insider Preview
./Device/Vendor/MSFT/DeclaredConfiguration/ManagementServiceConfiguration

特定の Windows 宣言された構成の動作を制御するために使用される ManagementServiceConfiguration ノード。

説明フレームワークのプロパティ:

プロパティ名 プロパティ値
形式 node
アクセスの種類 [ゲームをゲット] を選びます

ManagementServiceConfiguration/ConflictResolution

適用範囲 エディション 対象となる OS
✅ デバイス
❌ ユーザー
✅ Pro
✅ Enterprise
✅ Education
✅ Windows SE
✅ IoT Enterprise / IoT Enterprise LTSC
✅Windows Insider Preview
./Device/Vendor/MSFT/DeclaredConfiguration/ManagementServiceConfiguration/ConflictResolution

このノードは、競合解決のオンとオフを切り替える制御を行います。

説明フレームワークのプロパティ:

プロパティ名 プロパティ値
形式 int
アクセスの種類 追加、削除、取得、置換

指定可能な値

説明
0 競合の解決はオフです。
1 競合解決は ON です。

DeclaredConfiguration OMA URI

WinDC 要求は、 ./Device/Vendor/MSFT/DeclaredConfiguration/Host/[Complete|Inventory]/Documents/{DocID}/Documentのような OMA-URI を使用して送信されます。

  • URI には、対象のスコープ (User または Device) がプレフィックスとして付けられます。
  • {DocID} は、構成シナリオの目的の状態の一意識別子です。 すべてのドキュメントには ID が必要です。ID は GUID である必要があります。
  • 要求には、 Inventory または Complete 要求を指定できます。

Complete 要求の 例を次に示します。 ./Device/Vendor/MSFT/DeclaredConfiguration/Host/Complete/Documents/27FEA311-68B9-4320-9FC4-296F6FDFAFE2/Document

WinDC ドキュメント

<DeclaredConfiguration
    schema="1.0"
    context="Device"
    id="27FEA311-68B9-4320-9FC4-296F6FDFAFE2"
    checksum="99925209110918B67FE962460137AA3440AFF4DB6ABBE15C8F499682457B9999"
    osdefinedscenario="MSFTExtensibilityMIProviderConfig">
    ... {Configuration Data} ...
</DeclaredConfiguration>

<DeclaredConfiguration> XML タグは、処理する WinDC ドキュメントの詳細を指定します。 ドキュメントは、構成要求またはインベントリ要求の一部である可能性があります。 DeclaredConfiguration CSP には、 構成 または インベントリ 要求の指定を許可する 2 つの URI があります。

このタグには、次の属性があります。

属性 説明
schema xml のスキーマ バージョン。 現在 1.0
context ドキュメントがデバイスまたはユーザーを対象にしているかどうかを示します。
id サーバーによって設定されたドキュメントの一意識別子。 この値は GUID にする必要があります。
checksum この値は、サーバー提供のドキュメントのバージョンです。
osdefinedscenario 指定された構成データを使用してクライアントが構成する必要がある名前付きシナリオ。

DeclaredConfiguration CSP は、WinDC ドキュメントを表す <DeclaredConfiguration> 要素によって記述された設定のバッチを同期的に検証します。 WinDC XML スキーマに基づいて正しい構文がチェックされます。 構文エラーが発生した場合、CSP は現在の OMA-DM セッションの一部としてエラーをサーバーに直ちに返します。 構文チェックが渡された場合、要求は Windows サービスに渡されます。 Windows サービスは、指定したシナリオの目的の状態構成を非同期的に試行します。 このプロセスにより、サーバーが解放され、他の作業が実行されるため、WinDC プロトコルの待機時間が短くなります。 Windows クライアント サービスであるオーケストレーターは、サーバーが提供する要求状態に基づいてデバイスの構成を実行する役割を担います。 また、サービスは、サーバーが削除または変更するまで、有効期間を通じてこの状態を維持します。

要求の実際の処理は、 osdefinedscenario タグとドキュメント内で指定された構成データを中心にピボットされます。 詳細については、以下を参照してください。

WinDC 汎用アラート

サーバーの要求に対するすべてのクライアント応答で、クライアントは WinDC アラートを作成します。 このアラートは、Windows サービスが処理した各ドキュメントの状態をまとめたものです。 次の XML は、アラートの例です。

<Alert>
  <CmdID>1</CmdID>
  <Data>1224</Data>
  <Item>
    <Meta>
      <Type xmlns="syncml:metinf">com.microsoft.mdm.declaredconfigurationdocuments</Type>
    </Meta>
    <Data>
      <DeclaredConfigurations schema="1.0">
        <DeclaredConfiguration context="Device"
                               id="27FEA311-68B9-4320-9FC4-296F6FDFAFE2"
                               checksum="99925209110918B67FE962460137AA3440AFF4DB6ABBE15C8F499682457B9999"
                               result_checksum="EE4F1636201B0D39F71654427E420E625B9459EED17ACCEEE1AC9B358F4283FD"
                               state="60" />
      </DeclaredConfigurations>
    </Data>
  </Item>
</Alert>

この例では、アラートの概要に 1 つの WinDC ドキュメントが一覧表示されています。 アラートの概要には、クライアント スタックが処理しているすべてのドキュメント (構成要求またはインベントリ要求) が一覧表示されます。 ドキュメントの適用方法のスコープを指定するドキュメントのコンテキストについて説明します。 コンテキスト値はDeviceする必要があります。

state 属性の値は 60 で、ドキュメントが正常に処理されたことを示します。

WinDC の状態

次のクラスは、状態値を定義します。

enum class DCCSPURIState :unsigned long
{
    NotDefined = 0, // transient
    ConfigRequest = 1, // transient
    ConfigInprogress = 2, // transient
    ConfigInProgressAsyncPending = 3, // transient: Async operation is performed but pending results
    DeleteRequest = 10,  // transient
    DeleteInprogress = 11,  // transient

    GetRequest = 20,  // transient
    GetInprogress = 21,  // transient

    ConstructURIStorageSuccess = 40, // transient

    ConfigCompletedSuccess = 60, // permanent
    ConfigCompletedError = 61, // permanent
    ConfigInfraError = 62, // permanent
    ConfigCompletedSuccessNoRefresh = 63, // permanent

    DeleteCompletedSuccess = 70, // permanent
    DeleteCompletedError = 71, // permanent
    DeleteInfraError = 72, // permanent

    GetCompletedSuccess = 80, // permanent
    GetCompletedError = 81, // permanent
    GetInfraError = 82 // permanent
};

SyncML の例

WinDC ドキュメントを破棄する

リソースの破棄は、特定のリソースがユーザーまたはグループを対象としなくなった場合に発生します。 デバイス上のリソースを削除する代わりに、サーバーは WinDC ドキュメントを破棄することを選択できます。 破棄されたリソースはデバイスに留まりますが、ドリフト制御を処理する WinDC ドキュメントの更新を停止します。 また、 リソースの所有権 は MDM に転送されます。つまり、同じリソースをレガシ MDM チャネル経由で再度変更できます。

この例では、 Abandoned プロパティを 1 に設定して、WinDC ドキュメントを破棄する方法を示します。

<SyncML xmlns="SYNCML:SYNCML1.1">
  <SyncBody>
    <Replace>
    <CmdID>2</CmdID>
    <Item>
        <Meta>
            <Format>int</Format>
            <Type>text/plain</Type>
        </Meta>
        <Target>
            <LocURI>./Device/Vendor/MSFT/DeclaredConfiguration/Host/Complete/Documents/27FEA311-68B9-4320-9FC4-296F6FDFAFE2/Properties/Abandoned</LocURI>
        </Target>
        <Data>1</Data>
    </Item>
    </Replace>
    <Final/>
  </SyncBody>
</SyncML>

WinDC ドキュメントの Unabandon

ドキュメントを非バンド化すると、ドキュメントがすぐに適用され、 リソース所有権 が WinDC 管理に戻され、従来の MDM チャネルがチャネルを再び管理するのをブロックします。

この例では、 Abandoned プロパティを 0 に設定して、WinDC ドキュメントをアンバンドする方法を示します。

<?xml version="1.0" encoding="utf-8"?>
<SyncML xmlns="SYNCML:SYNCML1.1">
  <SyncBody>
    <Replace>
      <CmdID>10</CmdID>
      <Item>
        <Target>
          <LocURI>./Device/Vendor/MSFT/DeclaredConfiguration/Host/Complete/Documents/DCA000B5-397D-40A1-AABF-40B25078A7F9/Properties/Abandoned</LocURI>
        </Target>
        <Meta>
          <Format xmlns="syncml:metinf">int</Format>
        </Meta>
        <Data>0</Data>
      </Item>
    </Replace>
    <Final />
  </SyncBody>
</SyncML>

WinDC ドキュメントを削除する

ドキュメントの SyncML 削除ではドキュメントのみが削除されますが、設定はすべてデバイスに保持されます。 この例では、ドキュメントを削除する方法を示します。

<?xml version="1.0" encoding="utf-8"?>
<SyncML xmlns="SYNCML:SYNCML1.1">
<SyncBody>
    <Delete>
        <CmdID>2</CmdID>
        <Item>
        <Target>
            <LocURI>./Device/Vendor/MSFT/DeclaredConfiguration/Host/Complete/Documents/27FEA311-68B9-4320-9FC4-296F6FDFAFE2/Document</LocURI>
        </Target>
        </Item>
    </Delete>
    <Final/>
    </SyncBody>
</SyncML>

構成サービス プロバイダーのリファレンス