Поделиться через


DeclaredConfiguration CSP

Логотип программы предварительной оценки Windows.

Важно.

Этот 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:

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>

Справочник по поставщикам служб конфигурации