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


Принудительное применение скриптов с помощью элемента управления приложениями для бизнеса

Примечание.

Некоторые возможности управления приложениями для бизнеса доступны только в определенных версиях Windows. Дополнительные сведения о доступности функций управления приложениями.

Важно.

Вариант 11 Disabled:Script Enforcement не поддерживается на Windows Server 2016 или на Windows 10 1607 LTSB и не должен использоваться на этих платформах. Это приведет к непредвиденному поведению принудительного применения скриптов.

Общие сведения о применении скриптов

По умолчанию принудительное применение скриптов включено для всех политик управления приложениями, если в политике не установлен параметр 11 Disabled:Script Enforcement . Принудительное применение скрипта элемента управления приложениями включает подтверждение между узлом просвещенных сценариев, например PowerShell, и элементом управления приложениями. Тем не менее, узел скрипта обрабатывает фактическое поведение принудительного применения. Некоторые узлы скриптов, например узел приложения Microsoft HTML (mshta.exe), блокируют выполнение всего кода, если активна какая-либо политика UMCI элемента управления приложениями. Большинство узлов скриптов сначала спрашивают Элемент управления приложениями, следует ли разрешить выполнение скрипта на основе активных политик управления приложениями. Затем узел скрипта блокирует, разрешает или изменяет способ выполнения скрипта, чтобы обеспечить оптимальную защиту пользователя и устройства.

Проверка подписанных скриптов выполняется с помощью API WinVerifyTrust. Чтобы пройти проверку, корень подписи должен присутствовать в доверенном корневом хранилище на устройстве, и политика управления приложениями должна разрешить его. Это поведение отличается от проверки элемента управления приложениями для исполняемых файлов, которая не требует установки корневого сертификата.

Элемент управления приложениями использует журнал событий AppLocker — MSI и script для всех событий принудительного применения скриптов. Всякий раз, когда узел скрипта запрашивает элемент управления приложениями, следует ли разрешить сценарий, событие регистрируется с ответом App Control, возвращенным на узел скрипта. Дополнительные сведения о событиях принудительного применения скриптов элемента управления приложениями см. в разделе Общие сведения о событиях элемента управления приложениями.

Примечание.

При выполнении скрипта, который не разрешен политикой, элемент управления приложениями вызывает событие, указывающее, что скрипт был заблокирован. Однако фактическое поведение принудительного применения скрипта обрабатывается узлом скриптов и на самом деле не может полностью блокировать запуск файла.

Кроме того, имейте в виду, что некоторые узлы скриптов могут изменить поведение, даже если политика управления приложениями находится только в режиме аудита. Вам следует просмотреть сведения об узле скриптов, приведенные в этой статье, и тщательно протестировать в своей среде, чтобы убедиться, что скрипты, необходимые для выполнения, работают правильно.

Просвещенные узлы скриптов, которые являются частью Windows

PowerShell

Политики управления приложениями должны разрешать выполнение всех сценариев PowerShell (.ps1), модулей (PSM1) и манифестов (PSD1), чтобы они выполнялись с правами на полный язык.

Политики управления приложениями также должны разрешать любые зависимые модули , загруженные разрешенным модулем, а функции модуля должны экспортироваться явным образом по имени при применении элемента управления приложениями. Модули, которые не указывают экспортированные функции (без списка имен экспорта), по-прежнему загружаются, но функции модуля не доступны. Модули с подстановочными знаками (*) в имени не будут загружаться.

Любой скрипт PowerShell, который не разрешен политикой управления приложениями, по-прежнему выполняется, но только в режиме ограниченного языка.

Не рекомендуется использовать powerShell dot-sourcing . Вместо этого скрипты должны использовать модули PowerShell для предоставления общих функций. Если разрешенный файл скрипта пытается запустить файлы скриптов с исходными точками, эти файлы скриптов также должны передавать политику.

Элемент управления приложениями переводит интерактивный PowerShell в режим ограниченного языка, если применяется любая политика UMCI элемента управления приложениями и любая активная политика управления приложениями включает принудительное применение скриптов, даже если эта политика находится в режиме аудита. Чтобы запустить интерактивный PowerShell с полными правами языка, необходимо отключить принудительное применение скриптов для всех политик.

Дополнительные сведения см. в разделе О языковых режимах и ограниченном языковом режиме.

VBscript, cscript и jscript

Политики управления приложениями должны разрешать выполнение всех сценариев с помощью узла сценариев на основе Windows (wscript.exe) или узла сценариев на основе консоли (cscript.exe). Если нет, скрипт блокируется.

Узел приложений Microsoft HTML (MSHTA) и MSXML

Все выполнение кода с помощью MSHTA или MSXML блокируется, если активна любая политика управления приложениями с применением скриптов, даже если эта политика находится в режиме аудита.

COM-объекты

Элемент управления приложениями также применяет ограниченный список разрешений для COM-объектов, которые политика управления приложениями может расширить или дополнительно ограничить. На принудительное применение com-объектов не влияет вариант 11 Disabled:Script Enforcement. Дополнительные сведения о том, как разрешить или запретить объекты COM, см. в разделе Разрешение регистрации COM-объектов.

Скрипты, которые не управляются напрямую элементом управления приложениями

Элемент управления приложениями напрямую не управляет кодом, выполняемым через обработчик команд Windows (cmd.exe), включая .batфайлы скриптов /.cmd. Однако все, что пытается запустить такой пакетный скрипт, зависит от элемента управления приложением. Если вам не нужно запускать cmd.exe, рекомендуется заблокировать его прямо или разрешить только по исключению в зависимости от вызывающего процесса. См . раздел Использование политики управления приложениями для бизнеса для управления определенными подключаемыми модулями, надстройками и модулями.

Элемент управления приложениями не управляет скриптами, выполняемыми через непросвеченный узел скриптов, например многие сторонние обработчики Java или Python. Если политика управления приложениями разрешает запуск незасвеченного узла скриптов, вы неявно разрешаете выполнение всех скриптов через этот узел. Для узлов сценариев, отличных от Майкрософт, следует проверка с поставщиком программного обеспечения, соответствуют ли их узлы сценариев политике управления приложениями.