Поставщик служб конфигурации ApplicationControl
Политиками управления приложениями для бизнеса можно управлять с сервера MDM или локально с помощью PowerShell через мост WMI через поставщик службы конфигурации ApplicationControl (CSP). Поставщик служб CSP ApplicationControl был добавлен в Windows 10 версии 1903. Этот поставщик служб CSP предоставляет расширенные возможности диагностики и поддержку нескольких политик (появилась в Windows 10 версии 1903). Она также обеспечивает поддержку развертывания политик (появилась в Windows 10 версии 1709) без перезагрузки. В отличие от поставщика служб CSP AppLocker, поставщик служб CSP ApplicationControl правильно обнаруживает наличие параметра без перезагрузки и, следовательно, не планирует перезагрузку.
Существующие политики управления приложениями для бизнеса, развернутые с помощью узла CodeIntegrity Поставщика программного обеспечения AppLocker, теперь можно развернуть с помощью URI CSP ApplicationControl. Хотя развертывание политики управления приложениями с помощью CSP AppLocker будет по-прежнему поддерживаться, все новые функции будут выполняться только в applicationControl CSP.
В следующем списке показаны узлы поставщика службы конфигурации ApplicationControl:
- ./Vendor/MSFT/ApplicationControl
Политики
Область применения | Выпуски | Применимая ОС |
---|---|---|
Устройство ✅ Пользователь ❌ |
✅ Pro ✅ Enterprise ✅ для образования ✅ Windows SE ✅ IIoT Enterprise или IoT Enterprise LTSC |
✅Windows 10, версия 1903 [10.0.18362] и более поздние |
./Vendor/MSFT/ApplicationControl/Policies
Начало поддеревого дерева, содержащего все политики.
Каждая политика определяется по глобальному уникальному идентификатору (GUID).
Описание свойств инфраструктуры:
Имя свойства | Значение свойства |
---|---|
Формат | node |
Тип доступа | Получите |
Policies/{Policy GUID}
Область применения | Выпуски | Применимая ОС |
---|---|---|
Устройство ✅ Пользователь ❌ |
✅ Pro ✅ Enterprise ✅ для образования ✅ Windows SE ✅ IIoT Enterprise или IoT Enterprise LTSC |
✅Windows 10, версия 1903 [10.0.18362] и более поздние |
./Vendor/MSFT/ApplicationControl/Policies/{Policy GUID}
GUID политики.
Каждый узел GUID политики содержит узел Политики и соответствующий узел PolicyInfo.
Описание свойств инфраструктуры:
Имя свойства | Значение свойства |
---|---|
Формат | node |
Тип доступа | Получите |
Динамическое именование узлов | UniqueName. Поставщик служб CSP ApplicationControl обеспечивает, чтобы сегмент "ID" заданного URI политики был тем же идентификатором GUID, что и идентификатор политики в blob-объекте политики. |
Policies/{Policy GUID}/Policy
Область применения | Выпуски | Применимая ОС |
---|---|---|
Устройство ✅ Пользователь ❌ |
✅ Pro ✅ Enterprise ✅ для образования ✅ Windows SE ✅ IIoT Enterprise или IoT Enterprise LTSC |
✅Windows 10, версия 1903 [10.0.18362] и более поздние |
./Vendor/MSFT/ApplicationControl/Policies/{Policy GUID}/Policy
Двоичный файл политики, закодированный как base64. Поддерживаемое значение — двоичный файл, преобразованный из XML-файла политики командлетом ConvertFrom-CIPolicy.
Значение по умолчанию пусто.
Описание свойств инфраструктуры:
Имя свойства | Значение свойства |
---|---|
Формат | b64 |
Тип доступа | Добавить, удалить, получить, заменить |
Policies/{Policy GUID}/PolicyInfo
Область применения | Выпуски | Применимая ОС |
---|---|---|
Устройство ✅ Пользователь ❌ |
✅ Pro ✅ Enterprise ✅ для образования ✅ Windows SE ✅ IIoT Enterprise или IoT Enterprise LTSC |
✅Windows 10, версия 1903 [10.0.18362] и более поздние |
./Vendor/MSFT/ApplicationControl/Policies/{Policy GUID}/PolicyInfo
Сведения, описывающие политику, указанную идентификатором GUID.
Описание свойств инфраструктуры:
Имя свойства | Значение свойства |
---|---|
Формат | node |
Тип доступа | Получите |
Policies/{Policy GUID}/PolicyInfo/BasePolicyId
Область применения | Выпуски | Применимая ОС |
---|---|---|
Устройство ✅ Пользователь ❌ |
✅ Pro ✅ Enterprise ✅ для образования ✅ Windows SE ✅ IIoT Enterprise или IoT Enterprise LTSC |
✅Windows 10, версия 1903 [10.0.18362] и более поздние |
./Vendor/MSFT/ApplicationControl/Policies/{Policy GUID}/PolicyInfo/BasePolicyId
BasePolicyId политики, указанный идентификатором GUID политики.
Описание свойств инфраструктуры:
Имя свойства | Значение свойства |
---|---|
Формат |
chr (строка) |
Тип доступа | Получите |
Policies/{Policy GUID}/PolicyInfo/FriendlyName
Область применения | Выпуски | Применимая ОС |
---|---|---|
Устройство ✅ Пользователь ❌ |
✅ Pro ✅ Enterprise ✅ для образования ✅ Windows SE ✅ IIoT Enterprise или IoT Enterprise LTSC |
✅Windows 10, версия 1903 [10.0.18362] и более поздние |
./Vendor/MSFT/ApplicationControl/Policies/{Policy GUID}/PolicyInfo/FriendlyName
Понятное имя политики, указываемое идентификатором GUID политики.
Описание свойств инфраструктуры:
Имя свойства | Значение свойства |
---|---|
Формат |
chr (строка) |
Тип доступа | Получите |
Policies/{Policy GUID}/PolicyInfo/IsAuthorized
Область применения | Выпуски | Применимая ОС |
---|---|---|
Устройство ✅ Пользователь ❌ |
✅ Pro ✅ Enterprise ✅ для образования ✅ Windows SE ✅ IIoT Enterprise или IoT Enterprise LTSC |
✅Windows 10, версия 1903 [10.0.18362] и более поздние |
./Vendor/MSFT/ApplicationControl/Policies/{Policy GUID}/PolicyInfo/IsAuthorized
Авторизована ли политика, указываемая идентификатором GUID, для загрузки подсистемой принудительного применения в системе.
Поддерживаемые значения:
- True: указывает, что политика разрешена для загрузки подсистемой принудительного применения в системе.
- False: указывает, что политика не авторизована для загрузки подсистемой принудительного применения в системе. Это значение является значением по умолчанию.
Описание свойств инфраструктуры:
Имя свойства | Значение свойства |
---|---|
Формат | bool |
Тип доступа | Получите |
Policies/{Policy GUID}/PolicyInfo/IsBasePolicy
Область применения | Выпуски | Применимая ОС |
---|---|---|
Устройство ✅ Пользователь ❌ |
✅ Pro ✅ Enterprise ✅ для образования ✅ Windows SE ✅ IIoT Enterprise или IoT Enterprise LTSC |
✅Windows 10, версия 1903 [10.0.18362] и более поздние |
./Vendor/MSFT/ApplicationControl/Policies/{Policy GUID}/PolicyInfo/IsBasePolicy
TRUE или FALSE, если политика является базовой и дополнительной политикой.
Описание свойств инфраструктуры:
Имя свойства | Значение свойства |
---|---|
Формат | bool |
Тип доступа | Получите |
Policies/{Policy GUID}/PolicyInfo/IsDeployed
Область применения | Выпуски | Применимая ОС |
---|---|---|
Устройство ✅ Пользователь ❌ |
✅ Pro ✅ Enterprise ✅ для образования ✅ Windows SE ✅ IIoT Enterprise или IoT Enterprise LTSC |
✅Windows 10, версия 1903 [10.0.18362] и более поздние |
./Vendor/MSFT/ApplicationControl/Policies/{Policy GUID}/PolicyInfo/IsDeployed
Развертывается ли политика, указываемая идентификатором GUID, в системе (на физическом компьютере)
Поддерживаемые значения:
- True: указывает, что политика развернута в системе и присутствует на физическом компьютере.
- False: указывает, что политика не развернута в системе и отсутствует на физическом компьютере. Это значение является значением по умолчанию.
Описание свойств инфраструктуры:
Имя свойства | Значение свойства |
---|---|
Формат | bool |
Тип доступа | Получите |
Policies/{Policy GUID}/PolicyInfo/IsEffective
Область применения | Выпуски | Применимая ОС |
---|---|---|
Устройство ✅ Пользователь ❌ |
✅ Pro ✅ Enterprise ✅ для образования ✅ Windows SE ✅ IIoT Enterprise или IoT Enterprise LTSC |
✅Windows 10, версия 1903 [10.0.18362] и более поздние |
./Vendor/MSFT/ApplicationControl/Policies/{Policy GUID}/PolicyInfo/IsEffective
Действует ли политика, указанная идентификатором GUID, в системе (загружена подсистемой принудительного применения и действует)
Поддерживаемые значения:
- True: указывает, что политика загружается подсистемой принудительного применения и действует в системе.
- False: указывает, что политика не загружается подсистемой принудительного применения и не действует в системе. Это значение является значением по умолчанию.
Описание свойств инфраструктуры:
Имя свойства | Значение свойства |
---|---|
Формат | bool |
Тип доступа | Получите |
Policies/{Policy GUID}/PolicyInfo/IsSystemPolicy
Область применения | Выпуски | Применимая ОС |
---|---|---|
Устройство ✅ Пользователь ❌ |
✅ Pro ✅ Enterprise ✅ для образования ✅ Windows SE ✅ IIoT Enterprise или IoT Enterprise LTSC |
✅Windows 10, версия 1903 [10.0.18362] и более поздние |
./Vendor/MSFT/ApplicationControl/Policies/{Policy GUID}/PolicyInfo/IsSystemPolicy
TRUE/FALSE, если политика является системной политикой, то это политика, управляемая корпорацией Майкрософт в составе ОС.
Описание свойств инфраструктуры:
Имя свойства | Значение свойства |
---|---|
Формат | bool |
Тип доступа | Получите |
Policies/{Policy GUID}/PolicyInfo/PolicyOptions
Область применения | Выпуски | Применимая ОС |
---|---|---|
Устройство ✅ Пользователь ❌ |
✅ Pro ✅ Enterprise ✅ для образования ✅ Windows SE ✅ IIoT Enterprise или IoT Enterprise LTSC |
✅Windows 10, версия 1903 [10.0.18362] и более поздние |
./Vendor/MSFT/ApplicationControl/Policies/{Policy GUID}/PolicyInfo/PolicyOptions
ПолитикиПараметры политики, указанные идентификатором GUID политики.
Описание свойств инфраструктуры:
Имя свойства | Значение свойства |
---|---|
Формат |
chr (строка) |
Тип доступа | Получите |
Policies/{Policy GUID}/PolicyInfo/Status
Область применения | Выпуски | Применимая ОС |
---|---|---|
Устройство ✅ Пользователь ❌ |
✅ Pro ✅ Enterprise ✅ для образования ✅ Windows SE ✅ IIoT Enterprise или IoT Enterprise LTSC |
✅Windows 10, версия 1903 [10.0.18362] и более поздние |
./Vendor/MSFT/ApplicationControl/Policies/{Policy GUID}/PolicyInfo/Status
Текущее состояние политики, указываемое идентификатором GUID политики.
Значение по умолчанию — 0, указывающее, что состояние политики — OK
.
Описание свойств инфраструктуры:
Имя свойства | Значение свойства |
---|---|
Формат | int |
Тип доступа | Получите |
Policies/{Policy GUID}/PolicyInfo/Version
Область применения | Выпуски | Применимая ОС |
---|---|---|
Устройство ✅ Пользователь ❌ |
✅ Pro ✅ Enterprise ✅ для образования ✅ Windows SE ✅ IIoT Enterprise или IoT Enterprise LTSC |
✅Windows 10, версия 1903 [10.0.18362] и более поздние |
./Vendor/MSFT/ApplicationControl/Policies/{Policy GUID}/PolicyInfo/Version
Версия политики, указанная идентификатором GUID, в виде строки. При синтаксическом анализе используйте uint64 в качестве содержащего типа данных.
Описание свойств инфраструктуры:
Имя свойства | Значение свойства |
---|---|
Формат |
chr (строка) |
Тип доступа | Получите |
Маркеры
Область применения | Выпуски | Применимая ОС |
---|---|---|
Устройство ✅ Пользователь ❌ |
✅ Pro ✅ Enterprise ✅ для образования ✅ Windows SE ✅ IIoT Enterprise или IoT Enterprise LTSC |
✅Windows 10, версия 1903 [10.0.18362] и более поздние |
./Vendor/MSFT/ApplicationControl/Tokens
Начало поддеревого дерева, содержащего все маркеры.
Описание свойств инфраструктуры:
Имя свойства | Значение свойства |
---|---|
Формат | node |
Тип доступа | Получите |
Token/{ID}
Область применения | Выпуски | Применимая ОС |
---|---|---|
Устройство ✅ Пользователь ❌ |
✅ Pro ✅ Enterprise ✅ для образования ✅ Windows SE ✅ IIoT Enterprise или IoT Enterprise LTSC |
✅Windows 10, версия 1903 [10.0.18362] и более поздние |
./Vendor/MSFT/ApplicationControl/Tokens/{ID}
Произвольный идентификатор, используемый для дифференцировки маркеров.
Описание свойств инфраструктуры:
Имя свойства | Значение свойства |
---|---|
Формат | node |
Тип доступа | Получите |
Динамическое именование узлов | UniqueName. Поставщик служб CSP ApplicationControl обеспечивает уникальность сегмента "ID" заданного URI маркера. |
Token/{ID}/Token
Область применения | Выпуски | Применимая ОС |
---|---|---|
Устройство ✅ Пользователь ❌ |
✅ Pro ✅ Enterprise ✅ для образования ✅ Windows SE ✅ IIoT Enterprise или IoT Enterprise LTSC |
✅Windows 10, версия 1903 [10.0.18362] и более поздние |
./Vendor/MSFT/ApplicationControl/Tokens/{ID}/Token
Двоичный файл маркера, закодированный как base64. Поддерживаемое значение — двоичный файл, полученный из OneCoreDeviceUnlockService.
Описание свойств инфраструктуры:
Имя свойства | Значение свойства |
---|---|
Формат | b64 |
Тип доступа | Добавить, удалить, получить, заменить |
Token/{ID}/TokenInfo
Область применения | Выпуски | Применимая ОС |
---|---|---|
Устройство ✅ Пользователь ❌ |
✅ Pro ✅ Enterprise ✅ для образования ✅ Windows SE ✅ IIoT Enterprise или IoT Enterprise LTSC |
✅Windows 10, версия 1903 [10.0.18362] и более поздние |
./Vendor/MSFT/ApplicationControl/Tokens/{ID}/TokenInfo
Сведения, описывающие токен, указанный соответствующим идентификатором.
Описание свойств инфраструктуры:
Имя свойства | Значение свойства |
---|---|
Формат | node |
Тип доступа | Получите |
Token/{ID}/TokenInfo/Status
Область применения | Выпуски | Применимая ОС |
---|---|---|
Устройство ✅ Пользователь ❌ |
✅ Pro ✅ Enterprise ✅ для образования ✅ Windows SE ✅ IIoT Enterprise или IoT Enterprise LTSC |
✅Windows 10, версия 1903 [10.0.18362] и более поздние |
./Vendor/MSFT/ApplicationControl/Tokens/{ID}/TokenInfo/Status
Текущее состояние маркера, указанное идентификатором маркера.
Описание свойств инфраструктуры:
Имя свойства | Значение свойства |
---|---|
Формат | int |
Тип доступа | Получите |
Token/{ID}/TokenInfo/Type
Область применения | Выпуски | Применимая ОС |
---|---|---|
Устройство ✅ Пользователь ❌ |
✅ Pro ✅ Enterprise ✅ для образования ✅ Windows SE ✅ IIoT Enterprise или IoT Enterprise LTSC |
✅Windows 10, версия 1903 [10.0.18362] и более поздние |
./Vendor/MSFT/ApplicationControl/Tokens/{ID}/TokenInfo/Type
Тип маркера, указанный идентификатором маркера.
Описание свойств инфраструктуры:
Имя свойства | Значение свойства |
---|---|
Формат | int |
Тип доступа | Получите |
Значения IsAuthorized, IsDeployed и IsEffective
В следующей таблице приведен результат этой политики на основе различных значений узлов IsAuthorized, IsDeployed и IsEffective:
IsAuthorized | IsDeployed | IsEffective | Получающийся в результате |
---|---|---|---|
True | True | True | Политика в настоящее время выполняется и действует. |
True | True | False | Для того чтобы политика вступила в силу, требуется перезагрузка. |
True | False | True | Политика требует перезагрузки для выгрузки из CI. |
False | True | True | Недоступно. |
True | False | False | *Недоступно. |
False | True | False | *Недоступно. |
False | False | True | Недоступно. |
False | False | False | *Недоступно. |
* обозначает допустимое промежуточное состояние; Однако, если транзакция MDM приводит к такой конфигурации состояния, END_COMMAND_PROCESSING
объект приведет к сбою.
Руководство по использованию Microsoft Intune
Клиенты, использующие Intune автономное или гибридное управление с Configuration Manager для развертывания пользовательских политик через поставщик служб CSP ApplicationControl, см. в статье Развертывание политик управления приложениями для бизнеса с помощью Microsoft Intune.
Руководство по использованию универсального сервера MDM
Чтобы использовать applicationControl CSP без использования Intune, необходимо:
- Знать GUID созданной политики, который можно найти в xml-файле политики как
<PolicyID>
или<PolicyTypeID>
для систем до 1903 года. - Преобразуйте политики в двоичный формат с помощью командлета
ConvertFrom-CIPolicy
для развертывания. Двоичная политика может быть подписана или не подписана. - Создайте узел политики (большой двоичный объект в кодировке Base64 представления двоичной политики) с помощью средства командной
certutil -encode
строки.
Ниже приведен пример вызова certutil:
certutil -encode WinSiPolicy.p7b WinSiPolicy.cer
Вместо использования certutil можно использовать следующий вызов PowerShell:
[Convert]::toBase64String($(Get-Content -Encoding Byte -ReadCount 0 -Path <bin file>))
Развертывание политик
Чтобы развернуть новую базовую политику с помощью CSP, выполните добавление в ./Vendor/MSFT/ApplicationControl/Policies/Policy GUID/Policy , используя узел политики в кодировке Base64 в виде {Data}. См. раздел Формат в примере 1 ниже.
Чтобы развернуть базовую политику и дополнительные политики, выполните следующие действия:
- Выполните добавление в ./Vendor/MSFT/ApplicationControl/Policies/Policy GUID/Policy , используя узел политики в кодировке Base64 в виде {Data} с guid и данными политики для базовой политики.
- Повторите для каждой базовой или дополнительной политики (с собственным идентификатором GUID и данными).
В следующем примере показано развертывание двух базовых политик и дополнительной политики (которая уже указывает базовую политику, которую она дополняет, и не нуждается в том, что отражено в ADD).
Пример 1. Добавление первой базовой политики
<Add>
<CmdID>1</CmdID>
<Item>
<Target>
<LocURI>./Vendor/MSFT/ApplicationControl/Policies/{Base1GUID}/Policy</LocURI>
</Target>
<Meta>
<Format xmlns="syncml:metinf">b64</Format>
</Meta>
<Data> {Base1Data} </Data>
</Item>
</Add>
Пример 2. Добавление второй базовой политики
<Add>
<CmdID>1</CmdID>
<Item>
<Target>
<LocURI>./Vendor/MSFT/ApplicationControl/Policies/{Base2GUID}/Policy</LocURI>
</Target>
<Meta>
<Format xmlns="syncml:metinf">b64</Format>
</Meta>
<Data> {Base2Data} </Data>
</Item>
</Add>
Пример 3. Добавление дополнительной политики
<Add>
<CmdID>1</CmdID>
<Item>
<Target>
<LocURI>./Vendor/MSFT/ApplicationControl/Policies/{Supplemental1GUID}/Policy</LocURI>
</Target>
<Meta>
<Format xmlns="syncml:metinf">b64</Format>
</Meta>
<Data> {Supplemental1Data} </Data>
</Item>
</Add>
Получение политик
Выполните get с помощью GUID развернутой политики для опроса или проверки самой политики или сведений о ней.
В следующей таблице показан результат операции Get на разных узлах:
Узлов | Получение результатов |
---|---|
./Vendor/MSFT/ApplicationControl/Policies/Policy GUID/Policy | raw p7b |
./Vendor/MSFT/ApplicationControl/Policies/Policy GUID/PolicyInfo/Version | Версия политики |
./Vendor/MSFT/ApplicationControl/Policies/Policy GUID/PolicyInfo/IsEffective | Действует ли политика |
./Vendor/MSFT/ApplicationControl/Policies/Policy GUID/PolicyInfo/IsDeployed | Политика в системе |
./Vendor/MSFT/ApplicationControl/Policies/Policy GUID/PolicyInfo/IsAuthorized | Авторизована ли политика в системе |
./Vendor/MSFT/ApplicationControl/Policies/Policy GUID/PolicyInfo/Status | Успешно ли развертывание |
./Vendor/MSFT/ApplicationControl/Policies/Policy GUID/PolicyInfo/FriendlyName | Понятное имя для политики |
Пример команды Get:
<Get>
<CmdID>1</CmdID>
<Item>
<Target>
<LocURI>./Vendor/MSFT/ApplicationControl/Policies/{PolicyGUID}/Policy</LocURI>
</Target>
</Item>
</Get>
Удаление политик
Удаление без перезагрузки
После удаления политики, развернутые через applicationControl CSP, удаляются из системы, но остаются в силе до следующей перезагрузки. Чтобы выполнить функциональное удаление без перезагрузки, сначала замените существующую политику политикой Разрешить все (на C:\Windows\schemas\CodeIntegrity\ExamplePolicies\AllowAll.xml), а затем удалите обновленную политику. Эта последовательность немедленно предотвратит блокировку и полностью отменит действие политики при следующей перезагрузке.
Политики без знака
Чтобы удалить политику без знака, выполните delete в ./Vendor/MSFT/ApplicationControl/Policies/Policy GUID/Policy.
Подписанные политики
Примечание.
Подписанная политика по умолчанию может быть заменена только другой подписанной политикой. Следовательно, выполнения delete для ./Vendor/MSFT/ApplicationControl/Policies/Policy/Policy GUID/Policy недостаточно для удаления подписанной политики.
Чтобы удалить подписанную политику, выполните следующие действия:
- Замените его подписанным обновлением, разрешающее политику без знака.
- Разверните еще одно обновление с неподписаной политикой Разрешить все.
- Выполните удаление.
Пример команды Delete:
<Delete>
<CmdID>1</CmdID>
<Item>
<Target>
<LocURI>./Vendor/MSFT/ApplicationControl/Policies/{PolicyGUID}/Policy</LocURI>
</Target>
</Item>
</Delete>
Руководство по использованию моста PowerShell и WMI
Поставщик моста WMI также можно управлять поставщиком мостов ApplicationControl CSP локально из PowerShell или с помощью скриптов последовательности задач Configuration Manager.
Настройка для использования моста WMI
Преобразуйте политику управления приложениями в Base64.
Откройте PowerShell в контексте локальной системы (через PSExec или что-то подобное).
Используйте интерфейс WMI:
$namespace = "root\cimv2\mdm\dmmap" $policyClassName = "MDM_ApplicationControl_Policies01_01" $policyBase64 = "<base64policy>"
Развертывание политики с помощью моста WMI
Выполните следующую команду. PolicyID — это ИДЕНТИФИКАТОР GUID, который можно найти в xml-файле политики, и его следует использовать здесь без фигурных скобок.
New-CimInstance -Namespace $namespace -ClassName $policyClassName -Property @{ParentID="./Vendor/MSFT/ApplicationControl/Policies";InstanceID="<PolicyID>";Policy=$policyBase64}
Запрос всех политик через мост WMI
Get-CimInstance -Namespace $namespace -ClassName $policyClassName