Share via


Remover políticas do WDAC (Controle de Aplicativo) Windows Defender

Observação

Alguns recursos do WDAC (Controle de Aplicativo) Windows Defender estão disponíveis apenas em versões específicas do Windows. Saiba mais sobre a disponibilidade do recurso Windows Defender Controle de Aplicativo.

Removendo políticas do WDAC

Pode chegar um momento em que você deseja remover uma ou mais políticas do WDAC ou remover todas as políticas do WDAC implantadas. Este artigo descreve as várias maneiras de remover políticas do WDAC.

Importante

Política WDAC assinada

Se a política que você está tentando remover for uma política WDAC assinada, primeiro você deverá implantar uma política de substituição assinada que inclua a opção 6 Habilitada:Política de Integridade do Sistema Não Assinada.

A política de substituição deve ter a mesma PolicyId que a que está substituindo e uma versão igual ou maior que a política existente. A política de substituição também deve incluir <UpdatePolicySigners>.

Para entrar em vigor, essa política deve ser assinada com um certificado incluído na <seção UpdatePolicySigners> da política original que você deseja substituir.

Em seguida, você deve reiniciar o computador para que a proteção UEFI da política seja desativada. Não fazer isso resultará em uma falha de inicialização.

Antes de remover qualquer política, primeiro você deve desabilitar o método usado para implantá-la (como Política de Grupo ou MDM). Caso contrário, a política pode reimplantar para o computador.

Para tornar uma política efetivamente inativa antes de removê-la, primeiro você pode substituir a política por uma nova que inclua as seguintes alterações:

  1. Substitua as regras de política por regras "Permitir *";
  2. Defina a opção 3 Habilitada:Modo de Auditoria para alterar a política somente para o modo de auditoria;
  3. Definir a opção 11 Desabilitado:Execução de Script;
  4. Permitir todos os objetos COM. Consulte Permitir registro de objeto COM em uma política do WDAC;
  5. Se aplicável, remova a opção 0 Habilitada:UMCI para converter a política apenas no modo kernel.

Importante

Depois de remover uma política, reinicie o computador para que ele entre em vigor. Você não pode remover políticas do WDAC sem reiniciar o dispositivo.

Remover políticas do WDAC usando CiTool.exe

Começando com a atualização Windows 11 2022, você pode remover políticas do WDAC usando CiTool.exe. Em uma janela de comando elevada, execute o comando a seguir. Substitua o texto PolicyId GUID pela PolicyId real da política WDAC que você deseja remover:

    CiTool.exe -rp "{PolicyId GUID}" -json

Em seguida, reinicie o computador.

Remover políticas do WDAC usando soluções de MDM como Intune

Você pode usar uma solução MDM (Mobile Gerenciamento de Dispositivos), como Microsoft Intune, para remover políticas WDAC de computadores cliente usando o CSP do ApplicationControl.

Consulte seu provedor de soluções MDM para obter informações específicas sobre como usar o CSP do ApplicationControl.

Em seguida, reinicie o computador.

Remover políticas do WDAC usando script

Para remover políticas WDAC usando script, seu script deve excluir os arquivos de política do computador. Para políticas WDAC de formato de política múltipla (1903+), procure os arquivos de política nos locais a seguir. Certifique-se de substituir o GUID PolicyId pela PolicyId real da política WDAC que você deseja remover.

  • <Partição> do Sistema EFI\Microsoft\Boot\CiPolicies\Active\{PolicyId GUID}.cip
  • <Volume> do SISTEMA OPERACIONAL\Windows\System32\CodeIntegrity\CiPolicies\Active\{PolicyId GUID}.cip

Para políticas WDAC de formato de política única, além dos dois locais acima, procure também um arquivo chamado SiPolicy.p7b que pode ser encontrado nos seguintes locais:

  • <Partição> do Sistema EFI\Microsoft\Boot\SiPolicy.p7b
  • <Volume> do SISTEMA OPERACIONAL\Windows\System32\CodeIntegrity\SiPolicy.p7b

Em seguida, reinicie o computador.

Script de exemplo para excluir uma única política WDAC

# Set PolicyId GUID to the PolicyId from your WDAC policy XML
$PolicyId = "{PolicyId GUID}"

# Initialize variables
$SinglePolicyFormatPolicyId = "{A244370E-44C9-4C06-B551-F6016E563076}"
$SinglePolicyFormatFileName = "\SiPolicy.p7b"
$MountPoint =  $env:SystemDrive+"\EFIMount"
$SystemCodeIntegrityFolderRoot = $env:windir+"\System32\CodeIntegrity"
$EFICodeIntegrityFolderRoot = $MountPoint+"\EFI\Microsoft\Boot"
$MultiplePolicyFilePath = "\CiPolicies\Active\"+$PolicyId+".cip"

# Mount the EFI partition
$EFIPartition = (Get-Partition | Where-Object IsSystem).AccessPaths[0]
if (-Not (Test-Path $MountPoint)) { New-Item -Path $MountPoint -Type Directory -Force }
mountvol $MountPoint $EFIPartition

# Check if the PolicyId to be removed is the system reserved GUID for single policy format.
# If so, the policy may exist as both SiPolicy.p7b in the policy path root as well as
# {GUID}.cip in the CiPolicies\Active subdirectory
if ($PolicyId -eq $SinglePolicyFormatPolicyId) {$NumFilesToDelete = 4} else {$NumFilesToDelete = 2}

$Count = 1
while ($Count -le $NumFilesToDelete)
{

    # Set the $PolicyPath to the file to be deleted, if exists
    Switch ($Count)
    {
        1 {$PolicyPath = $SystemCodeIntegrityFolderRoot+$MultiplePolicyFilePath}
        2 {$PolicyPath = $EFICodeIntegrityFolderRoot+$MultiplePolicyFilePath}
        3 {$PolicyPath = $SystemCodeIntegrityFolderRoot+$SinglePolicyFormatFileName}
        4 {$PolicyPath = $EFICodeIntegrityFolderRoot+$SinglePolicyFormatFileName}
    }

    # Delete the policy file from the current $PolicyPath
    Write-Host "Attempting to remove $PolicyPath..." -ForegroundColor Cyan
    if (Test-Path $PolicyPath) {Remove-Item -Path $PolicyPath -Force -ErrorAction Continue}

    $Count = $Count + 1
}

# Dismount the EFI partition
mountvol $MountPoint /D

Observação

Você deve executar o script como administrador para remover as políticas do WDAC em seu computador.

Remover políticas do WDAC que causam falhas de parada de inicialização

Uma política WDAC que bloqueia drivers críticos de inicialização pode fazer com que uma falha de parada de inicialização (BSOD) ocorra, embora isso possa ser atenuado definindo a opção 10 Habilitado:Auditoria de Inicialização Em Falha em suas políticas. Além disso, as políticas do WDAC assinadas protegem a política contra manipulação administrativa e malware que ganhou acesso em nível administrativo ao sistema. Por esse motivo, as políticas de WDAC assinadas são intencionalmente mais difíceis de remover do que políticas não assinadas, mesmo para administradores. A adulteração ou a remoção de uma política WDAC assinada fará com que um BSOD ocorra.

Para remover uma política que está causando falhas de parada de inicialização:

  1. Se a política for uma política WDAC assinada , desative a Inicialização Segura do menu BIOS da UEFI. Para obter ajuda para localizar onde desativar a Inicialização Segura no menu BIOS, consulte o OEM (fabricante de equipamentos original).
  2. Acesse o menu Opções avançadas de inicialização em seu computador e escolha a opção de Desabilitar o Driver Signature Enforcement. Para obter instruções sobre como acessar o menu Opções avançadas de inicialização durante a inicialização, consulte seu OEM. Essa opção suspenderá todas as verificações de integridade de código, incluindo o WDAC, para uma única sessão de inicialização.
  3. Inicie o Windows normalmente e entre. Em seguida, remova as políticas do WDAC usando script.
  4. Se você desativou a Inicialização Segura na etapa 1 acima e sua unidade estiver protegida pelo BitLocker, suspenda a proteção do BitLocker e ative a Inicialização Segura do menu BIOS da UEFI.
  5. Reinicie o computador.

Observação

Se sua unidade estiver protegida pelo Bitlocker, talvez seja necessário que as chaves de recuperação do Bitlocker executem as etapas 1-2 acima.