Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Observação
Alguns recursos do Controle de Aplicativos para Empresas estão disponíveis apenas em versões específicas do Windows. Saiba mais sobre a disponibilidade de recursos do Controle de Aplicativos.
Importante
Opção 11 Desabilitada: A imposição de script não tem suporte no Windows Server 2016 ou no Windows 10 1607 LTSB e não deve ser usada nessas plataformas. Isso resultará em comportamentos inesperados de aplicação de script.
Visão geral da imposição de script
Por padrão, a imposição de script é habilitada para todas as políticas de Controle de Aplicativos, a menos que a opção 11 Disabled:Script Enforcement esteja definida na política. A imposição de script do Controle de Aplicativos envolve um handshake entre um host de script habilitado, como o PowerShell, e o Controle de Aplicativos. No entanto, o host de script lida com o comportamento de imposição real. Alguns hosts de script, como o Host de Aplicativo HTML da Microsoft (mshta.exe), bloqueiam toda a execução de código se alguma política UMCI de Controle de Aplicativos estiver ativa. A maioria dos hosts de script primeiro pergunta ao Controle de Aplicativos se um script deve ter permissão para ser executado com base nas políticas de Controle de Aplicativos atualmente ativas. Em seguida, o host de script bloqueia, permite ou altera a forma como o script é executado para melhor proteger o usuário e o dispositivo.
A validação para scripts assinados é feita usando a API WinVerifyTrust. Para passar na validação, a raiz de assinatura deve estar presente no repositório raiz confiável no dispositivo e sua política de controle de aplicativos deve permitir. Esse comportamento é diferente da validação do Controle de Aplicativos para arquivos executáveis, que não requer a instalação do certificado raiz.
O Controle de Aplicativos compartilha o AppLocker - MSI e o log de eventos de script para todos os eventos de imposição de script. Sempre que um host de script pergunta ao Controle de Aplicativos se um script deve ser permitido, um evento é registrado com o controle de aplicativo de resposta retornado ao host de script. Para obter mais informações sobre eventos de imposição de script do App Control, consulte Noções básicas sobre eventos do App Control.
Observação
Quando um script não é permitido pela política é executado, o Controle de Aplicativos gera um evento indicando que o script foi "bloqueado". No entanto, o comportamento real de imposição de script é tratado pelo host de script e pode não bloquear completamente a execução do arquivo.
Lembre-se também de que alguns hosts de script podem alterar a forma como se comportam, mesmo que uma política de Controle de Aplicativos esteja apenas no modo de auditoria. Você deve revisar as informações específicas do host de script neste artigo e testar minuciosamente em seu ambiente para garantir que os scripts necessários para execução estejam funcionando corretamente.
Hosts de script habilitados que fazem parte do Windows
Windows PowerShell
Suas políticas de controle de aplicativos devem permitir que todos os scripts (.ps1), módulos (.psm1) e manifestos (.psd1) do PowerShell para que sejam executados com direitos de Idioma Completo.
Suas políticas de controle de aplicativos também devem permitir quaisquer módulos dependentes carregados por um módulo permitido, e as funções de módulo devem ser exportadas explicitamente pelo nome quando o controle de aplicativos é imposto. Módulos que não especificam nenhuma função exportada (sem lista de nomes de exportação) ainda são carregados, mas nenhuma função de módulo está acessível. Os módulos que usam caracteres curinga (*) em seus nomes não serão carregados.
Qualquer script do PowerShell que não seja permitido pela política de Controle de Aplicativos ainda é executado, mas apenas no Modo de Idioma Restrito.
O dotsourcing do PowerShell não é recomendado. Em vez disso, os scripts devem usar módulos do PowerShell para fornecer funcionalidade comum. Se um arquivo de script permitido tentar executar arquivos de script de origem de pontos, esses arquivos de script também deverão passar na política.
O Controle de Aplicativos coloca o PowerShell interativo no Modo de Idioma Restrito se alguma política UMCI de Controle de Aplicativo for imposta e qualquer política de Controle de Aplicativo ativa habilitar a imposição de script, mesmo que essa política esteja em modo de auditoria. Para executar o PowerShell interativo com direitos de Idioma Completo, você deve desabilitar a imposição de script para todas as políticas.
Para obter mais informações, consulte Sobre modos de idioma e modo de idioma restrito.
VBscript, cscript e jscript
Suas políticas de controle de aplicativos devem permitir que todos os scripts sejam executados usando o Windows Based Script Host (wscript.exe) ou o Microsoft Console Based Script Host (cscript.exe). Caso contrário, o script está bloqueado.
MSHTA (Microsoft HTML Application Host) e MSXML
Toda a execução de código usando MSHTA ou MSXML será bloqueada se alguma política de Controle de Aplicativos com imposição de script estiver ativa, mesmo que essa política esteja no modo de auditoria.
Objetos COM
O Controle de Aplicativos também impõe uma lista de permissões restrita para objetos COM que sua política de Controle de Aplicativos pode expandir ou restringir ainda mais. A imposição de objeto COM não é afetada pela opção 11 Disabled:Script Enforcement. Para obter mais informações sobre como permitir ou negar objetos COM, consulte Permitir registro de objeto COM.
Scripts que não são controlados diretamente pelo Controle de Aplicativos
O Controle de Aplicativos não controla diretamente o código executado por meio do Processador de Comando do Windows (cmd.exe), incluindo arquivos de script .bat/.cmd. No entanto, tudo o que esse script em lote tenta executar está sujeito ao controle do Controle de Aplicativos. Se você não precisar executar cmd.exe, é recomendável bloqueá-lo completamente ou permiti-lo somente por exceção com base no processo de chamada. Consulte Usar uma política de Controle de Aplicativos para Empresas para controlar plug-ins, suplementos e módulos específicos.
O Controle de Aplicativos não controla os scripts executados por meio de um host de script não habilitado, como muitos mecanismos Java ou Python de terceiros. Se sua política de controle de aplicativos permitir que um host de script não habilitado seja executado, você permitirá implicitamente que todos os scripts sejam executados por meio desse host. Para hosts de script que não são da Microsoft, você deve marcar com o fornecedor do software se seus hosts de script são esclarecidos na política de controle de aplicativos.