Partilhar via


Implementar políticas de Controlo de Aplicações com script

Observação

Algumas capacidades do Controlo de Aplicações para Empresas só estão disponíveis em versões específicas do Windows. Saiba mais sobre a disponibilidade das funcionalidades do Controlo de Aplicações.

Este artigo descreve como implementar políticas de Controlo de Aplicações para Empresas com script. As instruções seguintes utilizam o PowerShell, mas podem funcionar com qualquer anfitrião de scripts.

Agora, deverá ter uma ou mais políticas de Controlo de Aplicações convertidas em formato binário. Caso contrário, siga os passos descritos em Implementar políticas do Controlo de Aplicações para Empresas.

Importante

Devido a um problema conhecido no Windows 11 atualizações anteriores a 24H2 (24H2), deve ativar sempre as novas políticas da Base de Controlo de Aplicações assinadas com um reinício nos sistemas com a integridade da memória ativada. Ignore todos os passos abaixo que utilizam CiTool, RefreshPolicy.exe ou WMI para iniciar uma ativação de política. Em vez disso, copie o binário da política para as localizações corretas do system32 e EFI e, em seguida, ative a política com um reinício do sistema.

Este problema não afeta as atualizações às políticas de Base assinadas que já estejam ativas no sistema, na implementação de políticas não assinadas ou na implementação de políticas suplementares (assinadas ou não assinadas). Também não afeta as implementações em sistemas que não estão a executar a integridade da memória.

Implementar políticas para Windows 11 22H2 e superior, e Windows Server 2025 e superior

Pode utilizar a caixa de entrada CiTool para implementar políticas assinadas e não assinadas no Windows 11 22H2 e no Windows Server 2025 com os seguintes comandos. Certifique-se de que substitui <Path to policy binary file to deploy> no exemplo seguinte pelo caminho real para o ficheiro binário da política de Controlo de Aplicações.

# Policy binary files should be named as {GUID}.cip for multiple policy format files (where {GUID} = <PolicyId> from the Policy XML)
$PolicyBinary = "<Path to policy binary file to deploy>"
CiTool --update-policy $PolicyBinary [-json]

Implementar políticas para Windows 11, Windows 10 versão 1903 e superior e Windows Server 2022 e superior

Para utilizar este procedimento, transfira e distribua a ferramenta de atualização da política de Controlo de Aplicações para todos os pontos finais geridos. Certifique-se de que as políticas de Controlo de Aplicações permitem que a ferramenta de atualização da política de Controlo de Aplicações ou utilize um instalador gerido para distribuir a ferramenta.

  1. Inicialize as variáveis a utilizar pelo script.

    # Policy binary files should be named as {GUID}.cip for multiple policy format files (where {GUID} = <PolicyId> from the Policy XML)
    $PolicyBinary = "<Path to policy binary file to deploy>"
    $DestinationFolder = $env:windir+"\System32\CodeIntegrity\CIPolicies\Active\"
    $RefreshPolicyTool = "<Path where RefreshPolicy.exe can be found from managed endpoints>"
    
  2. Copie o binário da política do Controlo de Aplicações para Empresas para a pasta de destino.

    Copy-Item -Path $PolicyBinary -Destination $DestinationFolder -Force
    
  3. Repita os passos 1 a 2 conforme adequado para implementar mais políticas de Controlo de Aplicações.

  4. Execute RefreshPolicy.exe para ativar e atualizar todas as políticas de Controlo de Aplicações no ponto final gerido.

    & $RefreshPolicyTool
    

Implementar políticas para todas as outras versões do Windows e do Windows Server

Utilize a WMI para implementar políticas em todas as outras versões do Windows e do Windows Server.

  1. Inicialize as variáveis a utilizar pelo script.

    # Policy binary files should be named as SiPolicy.p7b for Windows 10 versions earlier than 1903
    $PolicyBinary = "<Path to policy binary file to deploy>"
    $DestinationBinary = $env:windir+"\System32\CodeIntegrity\SiPolicy.p7b"
    
  2. Copie o binário da política do Controlo de Aplicações para Empresas para o destino.

    Copy-Item  -Path $PolicyBinary -Destination $DestinationBinary -Force
    
  3. Atualizar e ativar a política de Controlo de Aplicações com a WMI

    Invoke-CimMethod -Namespace root\Microsoft\Windows\CI -ClassName PS_UpdateAndCompareCIPolicy -MethodName Update -Arguments @{FilePath = $DestinationBinary}
    

Implementar políticas assinadas

Se estiver a utilizar políticas de Controlo de Aplicações assinadas, as políticas têm de ser implementadas na partição EFI do seu dispositivo.

  1. Monte o volume EFI e crie o diretório, se não existir, numa linha de comandos elevada do PowerShell:

    $MountPoint = 'C:\EFIMount'
    $EFIDestinationFolder = "$MountPoint\EFI\Microsoft\Boot\CiPolicies\Active"
    $EFIPartition = (Get-Partition | Where-Object IsSystem).AccessPaths[0]
    if (-Not (Test-Path $MountPoint)) { New-Item -Path $MountPoint -Type Directory -Force }
    mountvol $MountPoint $EFIPartition
    if (-Not (Test-Path $EFIDestinationFolder)) { New-Item -Path $EFIDestinationFolder -Type Directory -Force }
    
  2. Copie a política assinada para a pasta criada:

    Copy-Item -Path $PolicyBinary -Destination $EFIDestinationFolder -Force
    
  3. Reinicie o sistema.