Windows で宣言された構成プロトコルの概要
Windows 宣言構成 (WinDC) プロトコルは、Windows デバイスの効率的で信頼性の高い管理のために設計された目的の状態デバイス構成モデルです。 OMA-DM SyncML プロトコルを使用して、専用の OMA-DM サーバーを介して必要なすべての設定を 1 つのバッチで提供します。 デバイス上の WinDC クライアント スタックは、これらの設定を処理して、最も効率的で信頼性の高い方法で目的の状態を実現します。
WinDC プロトコルでは、デバイスに個別の OMA-DM 登録が必要です。これは、プライマリ OMA-DM サーバーに登録されているデバイスに依存します。 目的の状態モデルは、サーバーがデバイスの要求状態を担当する現在のモデルとは異なるモデルです。 このデュアル登録は、デバイスがプライマリ モバイル デバイス管理 (MDM) サーバーに既に登録されている場合にのみ許可されます。 この他の登録では、目的の状態管理機能とプライマリ機能が分離されます。
WinDC 登録には、次の 2 つのフェーズが含まれます。
- 宣言された構成検出: WinDC プロトコルの最初の検出フェーズでは、専用の JSON スキーマを使用して 、探索サービス エンドポイント (DS) からの登録の詳細を照会します。 このフェーズでは、特定のヘッダーと、ユーザー ドメイン、テナント ID、OS バージョンなどの詳細を含む JSON 本文を含む HTTP 要求を送信します。 DS は、登録の種類 (Microsoft Entra参加済みデバイスまたは登録済みデバイス) に基づいて、必要な登録サービス URL と認証ポリシーで応答します。
-
宣言された構成登録: 登録フェーズでは、 MS-MDE2 プロトコル と新しい DMClient CSP ポリシーがデュアル登録に使用されます。 このフェーズでは、
LinkedEnrollment/DiscoveryEndpoint
を設定し、SyncML コマンドを使用してLinkedEnrollment/Enroll
をトリガーします。 デバイスは、これらのポリシーを使用して OMA-DM サーバーと対話することで、その構成状態を管理できます。
WinDC 登録には、次の目的の状態管理機能が用意されています。
デバイスが登録されると、OMA-DM サーバーは 、DeclaredConfiguration CSP を使用して、指定したシナリオの設定名と値の完全なコレクションを送信できます。 デバイス上の WinDC スタックは、構成要求を処理し、シナリオの更新を含む状態を維持する役割を担います。
WinDC の望ましい状態モデルの利点は、特にデバイスを構成する WinDC クライアント スタックの責任であるため、効率的で正確であることです。 WinDC の効率は、クライアントがシナリオ設定のバッチを非同期的に処理できるためです。これにより、サーバー リソースが解放され、他の作業が実行されます。 したがって、WinDC プロトコルの待機時間は短くなります。 構成の品質と精度については、WinDC クライアント スタックにデバイスの構成領域に関する詳細な知識があります。 この動作には、構成シナリオに影響を与える継続的なデバイス更新プログラムの適切な処理が含まれます。
サポートされているプラットフォーム
Microsoft Entra参加済みデバイスの WinDC 登録は、Windows 10/11 のすべてのバージョンでサポートされています。
Microsoft Entra登録済みデバイスの WinDC 登録は、Windows 10/11 で次の更新プログラムでサポートされています。
- Windows 11バージョン 24H2 と KB5040529 (OS ビルド 26100.1301)
- Windows 11、バージョン 23H2 とKB5040527 (OS ビルド 22631.3958)
- Windows 11、バージョン 22H2 とKB5040527 (OS ビルド 22621.3958)
- Windows 10、バージョン 22H2 とKB5040525 (OS ビルド 19045.4717)
更新間隔
WinDC 更新スケジュールは、デバイスに WinDC ドキュメントが存在し、現在更新のスケジュール タスクがない場合に作成されます。 タスクは既定で 4 時間ごとに実行され、構成できます。 WinDC 更新タスクを実行するたびに、現在のシステム構成と WinDC ドキュメント内のサーバーの意図を比較することで、目的の状態からのすべてのドリフトがチェックされます。 ドリフトがある場合、WinDC エンジンは WinDC ドキュメントを再適用して修正しようとします。 インスタンス データが不足しているために WinDC ドキュメントを再適用できない場合、WinDC ドキュメントはドリフト状態でマークされ、ドリフトが発生したことを通知するために新しい同期セッションがトリガーされます。
更新スケジュールを特定、調整、または削除するには、 RefreshInterval URI を使用します。
現在のスケジュールを特定する:
<?xml version="1.0" encoding="utf-8"?> <SyncML xmlns="SYNCML:SYNCML1.1"> <SyncBody> <Get> <CmdID>2</CmdID> <Item> <Target> <LocURI>./Device/Vendor/MSFT/DeclaredConfiguration/ManagementServiceConfiguration/RefreshInterval</LocURI> </Target> </Item> </Get> <Final /> </SyncBody> </SyncML>
現在のスケジュールを調整する:
<?xml version="1.0" encoding="utf-8"?> <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/ManagementServiceConfiguration/RefreshInterval</LocURI> </Target> <Data>30</Data> </Item> </Replace> <Final /> </SyncBody> </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/ManagementServiceConfiguration/RefreshInterval</LocURI> </Target> </Item> </Delete> <Final /> </SyncBody> </SyncML>
トラブルシューティング
宣言された構成ドキュメントの処理が失敗した場合、エラーは Windows イベント ログに記録されます。
- 管理 イベント:
Application and Service Logs\Microsoft\Windows\DeviceManagement-Enterprise-Diagnostics-Provider\Admin
。 - 操作イベント:
Application and Service Logs\Microsoft\Windows\DeviceManagement-Enterprise-Diagnostics-Provider\Operational
。
一般的なエラー
<LocURI>
がデバイス スコープを使用している場合、DeclaredConfiguration ドキュメントでユーザー コンテキストが指定されている場合、イベント ログ管理次のようなエラー メッセージが表示されます。MDM ConfigurationManager: Command failure status. Configuration Source ID: (DAD70CC2-365B-450D-A8AB-2EB23F4300CC), Enrollment Name: (MicrosoftManagementPlatformCloud), Provider Name: (DeclaredConfiguration), Command Type: (SetValue: from Replace), CSP URI: (./Device/Vendor/MSFT/DeclaredConfiguration/Host/Complete/Documents/DCA000B5-397D-40A1-AABF-40B25078A7F9/Document), Result: (The system cannot find the file specified.)
ドキュメント ID が
<LocURI>
と DeclaredConfiguration ドキュメント内で一致しない場合、イベント ログ管理次のようなエラー メッセージが表示されます。MDM Declared Configuration: End document parsing from CSP: Document Id: (DCA000B5-397D-40A1-AABF-40B25078A7F91), Scenario: (MSFTVPN), Version: (A0), Enrollment Id: (DAD70CC2-365B-450D-A8AB-2EB23F4300CC), Current User: (S-1-5-21-3436249567-4017981746-3373817415-1001), Schema: (1.0), Download URL: (), Scope: (0x1), Enroll Type: (0x1A), File size: (0xDE2), CSP Count: (0x1), URI Count: (0xF), Action Requested: (0x0), Model: (0x1), Result:(0x8000FFFF) Catastrophic failure.
OMA-URI で入力ミスが発生すると、エラーが発生します。 この例では、
TrafficFilterLists
ではなくTrafficFilterList
を指定し、管理イベント ログに次のようなエラー メッセージが表示されます。MDM ConfigurationManager: Command failure status. Configuraton Source ID: (DAD70CC2-365B-450D-A8AB-2EB23F4300CC), Enrollment Type: (MicrosoftManagementPlatformCloud), CSP Name: (vpnv2), Command Type: (Add: from Replace or Add), CSP URI: (./user/vendor/msft/vpnv2/Test_SonicWall/TrafficFilterLists), Result: (Unknown Win32 Error code: 0x86000002).
運用チャネルには、別の警告メッセージもあります。
MDM Declared Configuration: Function (DeclaredConfigurationExtension_PolicyCSPConfigureGivenCurrentDoc) operation (ErrorAtDocLevel: one or more CSPs failed) failed with (Unknown Win32 Error code: 0x82d00007)