Общие сведения о политиках ADMX
Из-за повышенной простоты и простоты, с которой устройства могут быть ориентированы, корпоративные предприятия считают все более выгодным перенос управления компьютерами в облачное решение для управления устройствами. К сожалению, в современных решениях по управлению устройствами с Windows отсутствуют возможности конфигурации критически важных политик и параметров приложений, которые поддерживаются в традиционном решении для управления компьютером.
Поддержка конфигурации политик мобильных Управление устройствами (MDM) расширена, чтобы разрешить доступ к выбранному набору административных шаблонов групповая политика (политик ADMX) для компьютеров с Windows через поставщик службы конфигурации политик (CSP). Этот расширенный доступ гарантирует, что предприятия могут поддерживать соответствие своих устройств требованиям и предотвращать риск, связанный с угрозой безопасности устройств, управляемых через облако.
Фон
Помимо стандартных политик MDM, поставщик служб управления политиками также может обрабатывать выбранный набор политик ADMX. В политике ADMX административный шаблон содержит метаданные групповая политика Windows и может быть изменен в локальном групповая политика Редактор на компьютере. Каждый административный шаблон указывает разделы реестра (и их значения), связанные с групповая политика, и определяет параметры политики, которыми можно управлять. Административные шаблоны упорядочивают групповые политики в иерархии, в которой каждый сегмент в иерархическом пути определяется как категория. Каждый параметр в административном шаблоне групповая политика соответствует определенному значению реестра. Эти групповая политика параметры определяются в основанном на стандартах формате XML-файла, известном как ADMX-файл. Дополнительные сведения см. в групповая политика справочнике по синтаксису ADMX.
Файлы ADMX могут либо описывать групповые политики операционной системы (ОС), поставляемые вместе с Windows, либо могут описывать параметры приложений, которые являются отдельными от ОС и обычно могут быть загружены и установлены на компьютере. В зависимости от конкретной категории параметров, которыми они управляют (ОС или приложение), параметры административного шаблона находятся в следующих двух расположениях в локальной групповая политика Редактор:
- Параметры ОС: конфигурация компьютера или административные шаблоны
- Параметры приложения: конфигурация пользователя/административные шаблоны
В экосистеме контроллера домена или групповая политика групповые политики автоматически добавляются в реестр клиентского компьютера или профиля пользователя с помощью расширения на стороне клиента административных шаблонов (CSE) каждый раз, когда клиентский компьютер обрабатывает групповая политика. И наоборот, в клиенте, управляемом MDM, файлы ADMX применяются для определения политик, не зависящих от групповых политик. Таким образом, в клиенте, управляемом MDM, инфраструктура групповая политика, включая службу групповая политика (gpsvc.exe), не требуется.
ADMX-файл может поставляться вместе с Windows (находится по адресу %SystemRoot%\policydefinitions
) или приниматься на устройство с помощью URI CSP политики (./Vendor/MSFT/Policy/ConfigOperations/ADMXInstall
). Файлы ADMX для папки "Входящие" обрабатываются в политиках MDM во время сборки ОС. Файлы ADMX, которые получаются, обрабатываются в политиках MDM после отправки ОС через поставщик политики CSP. Так как поставщик служб CSP политики не зависит от каких-либо аспектов стека клиента групповая политика, включая службу групповая политика компьютера (GPSvc), обработчики политик, принятые на устройство, могут реагировать на политики, заданные MDM.
Windows сопоставляет имя и путь к категории групповая политика с областью политики MDM и именем политики путем синтаксического анализа связанного файла ADMX, поиска указанного групповая политика и сохранения определения (метаданных) в клиентском хранилище CSP политики MDM. Если политика MDM содержит команду SyncML и URI CSP политики, .\[device|user]\vendor\msft\policy\[config|result]\<area>\<policy>
на эти метаданные ссылается и определяется, какие разделы реестра заданы или удалены. Список политик ADMX, поддерживаемых MDM, см. в разделе Политика CSP — политики ADMX.
Файлы ADMX и групповая политика Редактор
Чтобы записать сквозную обработку MDM групповых политик ADMX, ИТ-администратор должен использовать пользовательский интерфейс, например групповая политика Редактор (gpedit.msc), для сбора необходимых данных. Пользовательский интерфейс консоли MDM ISV определяет, как собирать необходимые групповая политика данные от ИТ-администратора. Групповые политики ADMX организованы в иерархию и могут иметь область компьютера, пользователя или и того, и другого. В групповая политика примере в следующем разделе используется групповая политика на уровне компьютера с именем "Параметры сервера публикации 2". Если выбран этот групповая политика, его доступные состояния: Не настроено, Включено и Отключено.
ADMX-файл, который isV MDM использует для определения пользовательского интерфейса, отображаемого ИТ-администратором, является тем же ADMX-файлом, который клиент использует для определения политики. ADMX-файл обрабатывается ос во время сборки или устанавливается клиентом во время выполнения ОС. В любом случае клиент и ISV MDM должны быть синхронизированы с определениями политики ADMX. Каждый ADMX-файл соответствует групповая политика категории и обычно содержит несколько определений политик, каждое из которых представляет один групповая политика. Например, определение политики для параметра "Параметры сервера публикации 2" содержится в файле appv.admx, который содержит определения политик для категории Microsoft Application Virtualization (App-V) групповая политика.
групповая политика параметр кнопки:
Если выбран параметр Включено , необходимые элементы управления вводом данных отображаются для пользователя в пользовательском интерфейсе. Когда ИТ-администратор вводит данные и нажимает кнопку Применить, происходят следующие события:
- Сервер MDM ISV настраивает команду Заменить SyncML полезными данными, содержащими введенные пользователем данные.
- Стек клиента MDM получает эти данные, что приводит к тому, что поставщик служб CSP политики обновляет реестр устройства согласно определению политики ADMX.
Если выбран параметр Отключено и выбрано применить, происходят следующие события:
- Сервер MDM ISV настраивает команду Заменить SyncML с полезными данными, для которой задано значение
<disabled\>
. - Стек клиента MDM получает эту команду, в результате чего поставщик служб CSP политики удаляет параметры реестра устройства, задает разделы реестра или оба параметра в соответствии с изменением состояния, направляемого определением политики ADMX.
- Сервер MDM ISV настраивает команду Заменить SyncML с полезными данными, для которой задано значение
Если выбран параметр Не настроено и вы нажимаете кнопку Применить, происходят следующие события:
- Сервер MDM ISV настраивает команду Delete SyncML.
- Стек клиента MDM получает эту команду, в результате чего поставщик служб CSP политики удаляет параметры реестра устройства согласно определению политики ADMX.
На следующей схеме показано отображение main для групповая политика Редактор.
На следующей схеме показаны параметры для групповая политика "Параметры сервера публикации 2" в групповая политика Редактор.
Большинство групповых политик являются простым логическим типом. Для логического групповая политика, если выбрать Включено, панель параметров не содержит полей ввода данных, а полезные данные SyncML просто <enabled/>
. Однако если на панели параметров есть поля ввода данных, сервер MDM должен предоставить эти данные. Эта сложность показана в следующем примере включения групповая политика. В этом примере 10 пар "имя-значение" описываются тегами <data />
в полезных данных, которые соответствуют 10 полям ввода данных на панели параметров групповая политика Редактор для групповая политика "Параметры сервера публикации 2". ADMX-файл, определяющий групповые политики, используется сервером MDM так же, как его потребляет групповая политика Редактор. В групповая политика Редактор отображается пользовательский интерфейс для получения полных данных экземпляра групповая политика, что также необходимо сделать в консоли ИТ-администрирования сервера MDM. Для каждого <text>
элемента и атрибута ID в определении политики ADMX в полезных данных должны быть соответствующие <data />
элемент и атрибут ID. ADMX-файл управляет определением политики и требуется серверу MDM по протоколу SyncML.
Важно.
Любое поле ввода данных, отображаемое на странице групповая политика групповая политика Редактор, должно быть предоставлено в кодированном XML-коде полезных данных SyncML. Полезные данные SyncML эквивалентны предоставленным пользователем групповая политика данным через GPEdit.msc.
Дополнительные сведения о формате описания групповая политика см. в разделе Формат ADMX. Элементы могут быть Text, MultiText, Boolean, Перечисление, Decimal или List (дополнительные сведения см. в разделе Элементы политики).
Например, при поиске строки "Publishing_Server2_Name_Prompt" в примере включения политики и в соответствующем определении политики ADMX в файле appv.admx вы найдете следующие вхождения:
Включение примера политики:
`<data id="Publishing_Server2_Name_Prompt" value="name"/>`
Файл Appv.admx:
<elements>
<text id="Publishing_Server2_Name_Prompt" valueName="Name" required="true"/>
Примеры политик ADMX
В следующих примерах SyncML описывается настройка политики MDM, определенной шаблоном ADMX, а именно описание Publishing_Server2_Policy групповая политика в файле ADMX виртуализации приложения appv.admx. Функциональные возможности, которыми управляет этот групповая политика, не важны; они используются для демонстрации только того, как поставщик программного обеспечения MDM может задать политику ADMX. Эти примеры SyncML иллюстрируют общие параметры и соответствующий код SyncML, который можно использовать для тестирования политик. Полезные данные SyncML должны быть в кодировке XML; для этого xml-кода можно использовать избранное онлайн-средство. Чтобы избежать кодирования полезных данных, можно использовать CData, если mdm поддерживает их. Дополнительные сведения см. в разделе Разделы 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>
Синхронизация ответов:
<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>
Синхронизация ответов:
<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>
Синхронизация ответов:
<Status>
<CmdID>2</CmdID>
<MsgRef>1</MsgRef>
<CmdRef>1</CmdRef>
<Cmd>Delete</Cmd>
<Data>200</Data>
</Status>
Пример SyncML для различных элементов ADMX
В этом разделе описывается пример SyncML для различных элементов ADMX, таких как Text, Multi-Text, Decimal, Boolean и List.
Как путь и имя категории политики групповая политика сопоставляются с областью MDM и именем политики
Ниже приведено внутреннее сопоставление ОС групповая политика с областью MDM и именем. Это сопоставление является частью набора манифеста Windows, который при компиляции анализирует связанный ADMX-файл, находит указанную политику групповая политика и сохраняет это определение (метаданные) в клиентском хранилище CSP политики MDM. Политики с поддержкой ADMX организованы иерархически. Их область может быть компьютером, пользователем или иметь область обоих. При обращении к политике MDM с помощью команды SyncML и URI CSP политики, как показано ниже, на эти метаданные указываются ссылки и определяются, какие разделы реестра заданы или удалены. На политики область компьютера ссылаются через .\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 >
...
LocURI для приведенной выше политики GP:
./Device/Vendor/MSFT/Policy/Config/AppVirtualization/PublishingAllowServer2
Чтобы создать SyncML для области или политики с помощью следующих примеров, необходимо обновить идентификатор данных и значение в <Data>
разделе SyncML. Элементы с префиксом "&" являются необходимыми escape-символами, которые можно сохранить, как показано ниже.
Элемент 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 будет разделена символом Юникода 0xF000 (версия в кодировке: 
).
<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C:\QuickPatch\TEST\foo.exeC:\QuickPatch\TEST\bar.exe"/>]]></Data>
</Item>
</Replace>
<Final/>
</SyncBody>
</SyncML>
Элемент List (и его варианты)
Элемент list
просто соответствует кусту REG_SZ строк реестра и, соответственно, сетке для ввода нескольких строк на панели политики, отображаемой gpedit.msc. Этот элемент представлен в SyncML в виде строки, содержащей пары строк. Каждая пара является ключом имени и значения REG_SZ. Лучше всего применить политику с помощью gpedit.msc (от имени администратора) и перейти в расположение куста реестра и посмотреть, как хранятся значения списка. Это расположение дает представление о том, как хранятся пары "имя-значение", чтобы выразить его с помощью SyncML.
Примечание.
Ожидается, что каждая строка в SyncML будет разделена символом Юникода 0xF000 (версия в кодировке: 
).
Вариации list
элемента определяются атрибутами. Эти атрибуты игнорируются средой выполнения диспетчера политик. Ожидается, что сервер 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http://name1http://name2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>
Перечисления
<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>
Логический элемент
<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deviceId12deviceId2"/>]]>
</Data>
</Item>
</Replace>
<Final/>
</SyncBody>
</SyncML>