DeclaredConfiguration CSP
Важно.
Этот CSP содержит некоторые параметры, находящиеся в стадии разработки и применимые только для сборок Windows Insider Preview. Эти параметры могут изменяться и зависеть от других функций или служб в предварительной версии.
Основная модель MDM — это модель, в которой сервер MDM несет полную ответственность за оркестрацию и непрерывное обслуживание состояния устройства для сценариев конфигурации. Это приводит к интенсивному сетевому трафику и высокой задержке сети из-за синхронной модели конфигурации, основанной на стандарте OMA-DM Syncml. Он также подвержен ошибкам, учитывая, что сервер нуждается в глубоких знаниях о клиенте.
Модель управления устройствами, объявленной Windows (WinDC), требует, чтобы сервер доставлял на устройство все значения параметров для конфигурации сценария. Сервер отправляет их асинхронно пакетами через поставщик CSP DeclaredConfiguration.
Во время сеанса OMA-DM, инициированного клиентом, сервер WinDC отправляет клиенту конфигурационный или инвентаризационный документ WinDC через URI CSP DeclaredConfiguration. Если устройство проверяет правильность синтаксиса документа, клиентский стек отправляет запрос в оркестратор для асинхронной обработки запроса. Затем клиентский стек завершает работу и возвращает управление обратно в службу WinDC. Это поведение позволяет устройству асинхронно обрабатывать запрос.
Если какие-либо запросы находятся в процессе или завершены, клиент отправляет на сервер универсальное оповещение . Это оповещение суммирует состояние, состояние и ход выполнения каждого документа. Каждый https-запрос клиента к серверу WinDC OMA-DM включает эту сводку.
Сервер WinDC использует универсальное оповещение, чтобы определить, какие запросы успешно завершены или с ошибками. Затем сервер может синхронно получить результаты процесса документа WinDC с помощью URI CSP DeclaredConfiguration.
В следующем списке показаны узлы поставщика службы конфигурации DeclaredConfiguration:
- ./Device/Vendor/MSFT/DeclaredConfiguration
Host
Область применения | Выпуски | Применимая ОС |
---|---|---|
Устройство ✅ Пользователь ❌ |
✅ Pro ✅ Enterprise ✅ для образования ✅ Windows SE ✅ IIoT Enterprise или IoT Enterprise LTSC |
✅Windows Insider Preview |
./Device/Vendor/MSFT/DeclaredConfiguration/Host
Внутренний узел узла указывает, что целевым объектом запроса конфигурации или запроса на инвентаризацию является ОС узла. Этот узел предназначен для область на случай, если анклавы когда-либо предназначены для настройки.
Описание свойств инфраструктуры:
Имя свойства | Значение свойства |
---|---|
Формат | node |
Тип доступа | Добавление, удаление, получение |
Host/Complete
Область применения | Выпуски | Применимая ОС |
---|---|---|
Устройство ✅ Пользователь ❌ |
✅ Pro ✅ Enterprise ✅ для образования ✅ Windows SE ✅ IIoT Enterprise или IoT Enterprise LTSC |
✅Windows Insider Preview |
./Device/Vendor/MSFT/DeclaredConfiguration/Host/Complete
Этот внутренний узел указывает, что конфигурация имеет дискретные значения параметров и является автономной с полными парами параметров и значений, которые не содержат заполнителей, которые необходимо устранить позже с дополнительными данными. Запрос готов к обработке как есть.
Поток от сервера к клиенту запроса Complete совпадает с запросом инвентаризации .
Описание свойств инфраструктуры:
Имя свойства | Значение свойства |
---|---|
Формат | node |
Тип доступа | Добавление, удаление, получение |
Host/Complete/Documents
Область применения | Выпуски | Применимая ОС |
---|---|---|
Устройство ✅ Пользователь ❌ |
✅ Pro ✅ Enterprise ✅ для образования ✅ Windows SE ✅ IIoT Enterprise или IoT Enterprise LTSC |
✅Windows Insider Preview |
./Device/Vendor/MSFT/DeclaredConfiguration/Host/Complete/Documents
Узел Документы указывает, что конфигурация имеет форму документа, который представляет собой коллекцию параметров, используемых для настройки сценария стеком объявленной конфигурации.
Описание свойств инфраструктуры:
Имя свойства | Значение свойства |
---|---|
Формат | node |
Тип доступа | Добавление, удаление, получение |
Host/Complete/Documents/{DocID}
Область применения | Выпуски | Применимая ОС |
---|---|---|
Устройство ✅ Пользователь ❌ |
✅ Pro ✅ Enterprise ✅ для образования ✅ Windows SE ✅ IIoT Enterprise или IoT Enterprise LTSC |
✅Windows Insider Preview |
./Device/Vendor/MSFT/DeclaredConfiguration/Host/Complete/Documents/{DocID}
Уникально идентифицирует документ конфигурации. Ни один другой документ не может иметь этот идентификатор. Идентификатор должен быть идентификатором 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
Область применения | Выпуски | Применимая ОС |
---|---|---|
Устройство ✅ Пользователь ❌ |
✅ Pro ✅ Enterprise ✅ для образования ✅ Windows SE ✅ IIoT Enterprise или IoT Enterprise LTSC |
✅Windows Insider Preview |
./Device/Vendor/MSFT/DeclaredConfiguration/Host/Complete/Documents/{DocID}/Document
Значение узла Document — это xml-документ, содержащий коллекцию параметров и значений для настройки указанного сценария. Стек объявленной конфигурации проверяет синтаксис документа. Стек помечает документ для асинхронной обработки клиентом. Затем стек возвращает управление обратно в службу OMA-DM. Стек, в свою очередь, асинхронно обрабатывает запрос. Ниже приведен пример указанной требуемой конфигурации состояния с помощью URI объявленной конфигурации ./Device/Vendor/MSFT/DeclaredConfiguration/Host/Complete/Documents/27FEA311-68. B9-4320-9. FC4-296. F6FDFAFE2/Document.
Описание свойств инфраструктуры:
Имя свойства | Значение свойства |
---|---|
Формат |
chr (строка) |
Тип доступа | Добавить, удалить, получить, заменить |
Host/Complete/Documents/{DocID}/Properties
Область применения | Выпуски | Применимая ОС |
---|---|---|
Устройство ✅ Пользователь ❌ |
✅ Pro ✅ Enterprise ✅ для образования ✅ Windows SE ✅ IIoT Enterprise или IoT Enterprise LTSC |
✅Windows Insider Preview |
./Device/Vendor/MSFT/DeclaredConfiguration/Host/Complete/Documents/{DocID}/Properties
Узел Свойства инкапсулирует список свойств, которые применяются к указанному документу, на который ссылается [DocID].
Описание свойств инфраструктуры:
Имя свойства | Значение свойства |
---|---|
Формат | node |
Тип доступа | Добавление, удаление, получение |
Host/Complete/Documents/{DocID}/Properties/Abandoned
Область применения | Выпуски | Применимая ОС |
---|---|---|
Устройство ✅ Пользователь ❌ |
✅ Pro ✅ Enterprise ✅ для образования ✅ Windows SE ✅ IIoT Enterprise или IoT Enterprise LTSC |
✅Windows Insider Preview |
./Device/Vendor/MSFT/DeclaredConfiguration/Host/Complete/Documents/{DocID}/Properties/Abandoned
Заброшенный узел позволяет серверу OMA-DM указать, что документ больше не управляется.
Описание свойств инфраструктуры:
Имя свойства | Значение свойства |
---|---|
Формат | int |
Тип доступа | Добавить, удалить, получить, заменить |
Значение по умолчанию | 0 |
Допустимые значения:
Значение | Описание |
---|---|
0 (по умолчанию) | Документ больше не управляется. |
1 | Документ управляется. |
Узел,Завершение/Результаты
Область применения | Выпуски | Применимая ОС |
---|---|---|
Устройство ✅ Пользователь ❌ |
✅ Pro ✅ Enterprise ✅ для образования ✅ Windows SE ✅ IIoT Enterprise или IoT Enterprise LTSC |
✅Windows Insider Preview |
./Device/Vendor/MSFT/DeclaredConfiguration/Host/Complete/Results
Узел Результаты указывает, что это часть пути URI, который возвращает XML-документ, содержащий результаты запроса конфигурации.
Описание свойств инфраструктуры:
Имя свойства | Значение свойства |
---|---|
Формат | node |
Тип доступа | Получите |
Host/Complete/Results/{DocID}
Область применения | Выпуски | Применимая ОС |
---|---|---|
Устройство ✅ Пользователь ❌ |
✅ Pro ✅ Enterprise ✅ для образования ✅ Windows SE ✅ IIoT Enterprise или IoT Enterprise LTSC |
✅Windows Insider Preview |
./Device/Vendor/MSFT/DeclaredConfiguration/Host/Complete/Results/{DocID}
Уникально определяет документ конфигурации, в котором будут возвращены результаты запроса конфигурации.
Описание свойств инфраструктуры:
Имя свойства | Значение свойства |
---|---|
Формат | node |
Тип доступа | Получите |
Динамическое именование узлов | ClientInventory |
Host/Complete/Results/{DocID}/Document
Область применения | Выпуски | Применимая ОС |
---|---|---|
Устройство ✅ Пользователь ❌ |
✅ Pro ✅ Enterprise ✅ для образования ✅ Windows SE ✅ IIoT Enterprise или IoT Enterprise LTSC |
✅Windows Insider Preview |
./Device/Vendor/MSFT/DeclaredConfiguration/Host/Complete/Results/{DocID}/Document
Значение узла Document — это xml-документ, содержащий коллекцию результатов настройки из запроса конфигурации, указанного [DocId].
Описание свойств инфраструктуры:
Имя свойства | Значение свойства |
---|---|
Формат |
chr (строка) |
Тип доступа | Получите |
Узел или инвентаризация
Область применения | Выпуски | Применимая ОС |
---|---|---|
Устройство ✅ Пользователь ❌ |
✅ Pro ✅ Enterprise ✅ для образования ✅ Windows SE ✅ IIoT Enterprise или IoT Enterprise LTSC |
✅Windows Insider Preview |
./Device/Vendor/MSFT/DeclaredConfiguration/Host/Inventory
Внутренний узел Инвентаризация указывает, что это запрос на инвентаризацию. Извлекаемые значения параметров указываются в XML-документе через конечный узел документа.
Поток запроса инвентаризации между сервером и клиентом совпадает с запросом Complete .
Описание свойств инфраструктуры:
Имя свойства | Значение свойства |
---|---|
Формат | node |
Тип доступа | Добавление, удаление, получение |
Узел,Инвентаризация/Документы
Область применения | Выпуски | Применимая ОС |
---|---|---|
Устройство ✅ Пользователь ❌ |
✅ Pro ✅ Enterprise ✅ для образования ✅ Windows SE ✅ IIoT Enterprise или IoT Enterprise LTSC |
✅Windows Insider Preview |
./Device/Vendor/MSFT/DeclaredConfiguration/Host/Inventory/Documents
Узел Документы указывает, что запрос на инвентаризацию имеет форму документа, который представляет собой коллекцию параметров, используемых для получения их значений.
Описание свойств инфраструктуры:
Имя свойства | Значение свойства |
---|---|
Формат | node |
Тип доступа | Добавление, удаление, получение |
Host/Inventory/Documents/{DocID}
Область применения | Выпуски | Применимая ОС |
---|---|---|
Устройство ✅ Пользователь ❌ |
✅ Pro ✅ Enterprise ✅ для образования ✅ Windows SE ✅ IIoT Enterprise или IoT Enterprise LTSC |
✅Windows Insider Preview |
./Device/Vendor/MSFT/DeclaredConfiguration/Host/Inventory/Documents/{DocID}
Уникально идентифицирует документ инвентаризации. Ни один другой документ не может иметь этот идентификатор. Идентификатор должен быть идентификатором 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
Область применения | Выпуски | Применимая ОС |
---|---|---|
Устройство ✅ Пользователь ❌ |
✅ Pro ✅ Enterprise ✅ для образования ✅ Windows SE ✅ IIoT Enterprise или IoT Enterprise LTSC |
✅Windows Insider Preview |
./Device/Vendor/MSFT/DeclaredConfiguration/Host/Inventory/Documents/{DocID}/Document
Значение узла документа — это xml-документ, содержащий коллекцию параметров, которые будут использоваться для получения их значений. Стек объявленной конфигурации проверяет синтаксис документа. Стек помечает документ для асинхронной обработки клиентом. Затем стек возвращает управление обратно в службу OMA-DM. Стек, в свою очередь, асинхронно обрабатывает запрос. Ниже приведен пример указанной требуемой конфигурации состояния с помощью URI объявленной конфигурации ./Device/Vendor/MSFT/DeclaredConfiguration/Host/Inventory/Documents/27FEA311-68. B9-4320-9. FC4-296. F6FDFAFE2/Document.
Описание свойств инфраструктуры:
Имя свойства | Значение свойства |
---|---|
Формат |
chr (строка) |
Тип доступа | Добавить, удалить, получить, заменить |
Узел,Инвентаризация/Результаты
Область применения | Выпуски | Применимая ОС |
---|---|---|
Устройство ✅ Пользователь ❌ |
✅ Pro ✅ Enterprise ✅ для образования ✅ Windows SE ✅ IIoT Enterprise или IoT Enterprise LTSC |
✅Windows Insider Preview |
./Device/Vendor/MSFT/DeclaredConfiguration/Host/Inventory/Results
Узел Результаты указывает, что это часть пути URI, который возвращает XML-документ, содержащий результаты запроса инвентаризации.
Описание свойств инфраструктуры:
Имя свойства | Значение свойства |
---|---|
Формат | node |
Тип доступа | Получите |
Host/Inventory/Results/{DocID}
Область применения | Выпуски | Применимая ОС |
---|---|---|
Устройство ✅ Пользователь ❌ |
✅ Pro ✅ Enterprise ✅ для образования ✅ Windows SE ✅ IIoT Enterprise или IoT Enterprise LTSC |
✅Windows Insider Preview |
./Device/Vendor/MSFT/DeclaredConfiguration/Host/Inventory/Results/{DocID}
Уникально идентифицирует документ инвентаризации. Ни один другой документ не может иметь этот идентификатор. Идентификатор должен быть идентификатором GUID.
Описание свойств инфраструктуры:
Имя свойства | Значение свойства |
---|---|
Формат | node |
Тип доступа | Получите |
Динамическое именование узлов | ClientInventory |
Host/Inventory/Results/{DocID}/Document
Область применения | Выпуски | Применимая ОС |
---|---|---|
Устройство ✅ Пользователь ❌ |
✅ Pro ✅ Enterprise ✅ для образования ✅ Windows SE ✅ IIoT Enterprise или IoT Enterprise LTSC |
✅Windows Insider Preview |
./Device/Vendor/MSFT/DeclaredConfiguration/Host/Inventory/Results/{DocID}/Document
Значение узла документа — это xml-документ, содержащий коллекцию результатов настройки из запроса инвентаризации, указанного [DocId].
Описание свойств инфраструктуры:
Имя свойства | Значение свойства |
---|---|
Формат |
chr (строка) |
Тип доступа | Получите |
DeclaredConfiguration OMA URI
Запрос WinDC отправляется с помощью OMA-URI, аналогичного ./Device/Vendor/MSFT/DeclaredConfiguration/Host/[Complete|Inventory]/Documents/{DocID}/Document
.
- URI имеет префикс целевого область (
User
илиDevice
). -
{DocID}
— это уникальный идентификатор для требуемого состояния сценария конфигурации. Каждый документ должен иметь идентификатор, который должен быть ИДЕНТИФИКАТОРом GUID. - Запрос может быть инвентаризацией или запросом Complete .
Следующий универсальный код ресурса (URI) является примером запроса 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>
Xml-тег <DeclaredConfiguration>
указывает сведения об обрабатываемом документе WinDC. Документ может быть частью запроса конфигурации или запроса на инвентаризацию. Поставщик CSP DeclaredConfiguration имеет два URI, позволяющих определить конфигурацию или запрос на инвентаризацию .
Этот тег имеет следующие атрибуты:
Атрибут | Описание |
---|---|
schema |
Версия схемы xml. В настоящее время .1.0 |
context |
Указывает, предназначен ли документ для устройства или пользователя. |
id |
Уникальный идентификатор документа, заданного сервером. Это значение должно быть GUID. |
checksum |
Это значение является версией документа, предоставленной сервером. |
osdefinedscenario |
Именованный сценарий, который клиент должен настроить с заданными данными конфигурации. |
Поставщик CSP DeclaredConfiguration синхронно проверяет пакет параметров, описанный элементом <DeclaredConfiguration>
, который представляет документ WinDC. Он проверяет правильность синтаксиса на основе схемы 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>
В этом примере в сводке оповещений указан один документ WinDC. В сводке оповещений перечислены все документы, обрабатываемые клиентским стеком, — запрос на конфигурацию или инвентаризацию. В нем описывается контекст документа, указывающий область применения документа.
Контекстное значение должно иметь значение Device
.
Атрибут состояния имеет значение 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.
В этом примере показано, как отказаться от документа WinDC, задав для свойства Abandoned значение 1.
<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>
Unabandon a WinDC document
Удаление документа приводит к тому, что документ будет применен сразу же, что передает право собственности на ресурсы обратно управлению WinDC и блокирует устаревший канал MDM от управления каналами.
В этом примере показано, как унабанить документ WinDC, задав для свойства Abandoned значение 0.
<?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>