Compartir a través de


Eliminación de directivas de App Control para empresas

Nota

Algunas funcionalidades de App Control para empresas solo están disponibles en versiones específicas de Windows. Obtenga más información sobre la disponibilidad de características de App Control.

Eliminación de directivas de App Control

Puede que llegue un momento en el que quiera quitar una o varias directivas de App Control o quitar todas las directivas de App Control que haya implementado. En este artículo se describen las distintas formas de quitar directivas de App Control.

Importante

Directiva de control de aplicaciones base firmada

Si la directiva base que intenta quitar es una directiva de Control de aplicaciones firmada, primero debe implementar una directiva de reemplazo firmada que incluya la opción 6 Enabled:Unsigned System Integrity Policy.

La directiva de reemplazo debe tener el mismo PolicyId que el que está reemplazando y una versión igual o mayor que la directiva existente. La directiva de reemplazo también debe incluir <UpdatePolicySigners>.

Para surtir efecto, esta directiva debe estar firmada con un certificado incluido en la <sección UpdatePolicySigners> de la directiva original que desea reemplazar.

A continuación, debe reiniciar el equipo para que se desactive la protección UEFI de la directiva. Si no lo hace, se producirá un error de inicio de arranque.

Las directivas de Control de aplicaciones complementarias firmadas se pueden quitar de la misma manera que las directivas sin firmar, sin necesidad de seguir los pasos mencionados anteriormente.

Antes de quitar cualquier directiva, primero debe deshabilitar el método usado para implementarla (por ejemplo, directiva de grupo o MDM). De lo contrario, la directiva puede volver a implementarse en el equipo.

Para que una directiva esté inactiva de forma eficaz antes de quitarla, primero puede reemplazarla por una nueva que incluya los siguientes cambios:

  1. Reemplace las reglas de directiva por "Permitir *";
  2. Establezca la opción 3 Enabled:Audit Mode (Habilitado:Modo de auditoría) para cambiar la directiva solo al modo de auditoría;
  3. Establecer la opción 11 Disabled:Script Enforcement;
  4. Permitir todos los objetos COM. Consulte Permitir el registro de objetos COM en una directiva de Control de aplicaciones;
  5. Si procede, quite la opción 0 Enabled:UMCI para convertir la directiva solo en modo kernel.

Eliminación de directivas de App Control mediante CiTool.exe

A partir de la actualización de Windows 11 2022, puede quitar las directivas de Control de aplicaciones mediante CiTool.exe. Desde una ventana de comandos con privilegios elevados, ejecute el siguiente comando. Asegúrese de reemplazar el GUID de policyId de texto por el PolicyId real de la directiva de Control de aplicaciones que desea quitar:

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

Nota

A partir de la actualización de Windows 11 2024, las directivas sin firmar se pueden quitar mediante CiTool.exe sin necesidad de reiniciar. Sin embargo, en versiones anteriores de Windows, se requiere un reinicio para completar el proceso de eliminación.

Eliminación de directivas de App Control mediante soluciones MDM como Intune

Puede usar una solución mobile Administración de dispositivos (MDM), como Microsoft Intune, para quitar las directivas de App Control de las máquinas cliente mediante el CSP de ApplicationControl.

Consulte al proveedor de soluciones MDM para obtener información específica sobre el uso del CSP de ApplicationControl.

A continuación, reinicie el equipo.

Eliminación de directivas de App Control mediante script

Para quitar directivas de App Control mediante script, el script debe eliminar los archivos de directiva del equipo. Para varias directivas de formato de directiva (1903+) de Control de aplicaciones, busque los archivos de directiva en las siguientes ubicaciones. Asegúrese de reemplazar el GUID de PolicyId por el PolicyId real de la directiva de Control de aplicaciones que desea quitar.

  • <Partición> del sistema EFI\Microsoft\Boot\CiPolicies\Active\{PolicyId GUID}.cip
  • <Volumen del sistema> operativo\Windows\System32\CodeIntegrity\CiPolicies\Active\{PolicyId GUID}.cip

Para las directivas de App Control con formato de directiva única, además de las dos ubicaciones anteriores, busque también un archivo denominado SiPolicy.p7b que se pueda encontrar en las siguientes ubicaciones:

  • <Partición> del sistema EFI\Microsoft\Boot\SiPolicy.p7b
  • <Volumen del sistema> operativo\Windows\System32\CodeIntegrity\SiPolicy.p7b

A continuación, reinicie el equipo.

Script de ejemplo para eliminar una sola directiva de App Control

# Set PolicyId GUID to the PolicyId from your App Control 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

Nota

Debe ejecutar el script como administrador para quitar las directivas de App Control en el equipo.

Eliminación de directivas de App Control que provocan errores de detención de arranque

Una directiva de Control de aplicaciones que bloquea los controladores críticos de arranque puede provocar un error de detención de arranque (BSOD), aunque esto se puede mitigar estableciendo la opción 10 Enabled:Boot Audit On Failure en las directivas. Además, las directivas de Control de aplicaciones firmadas protegen la directiva frente a la manipulación administrativa y el malware que ha obtenido acceso de nivel administrativo al sistema. Por este motivo, las directivas de Control de aplicaciones firmadas son intencionadamente más difíciles de quitar que las directivas sin firmar incluso para los administradores. La manipulación o eliminación de una directiva de Control de aplicaciones firmada hará que se produzca un BSOD.

Para quitar una directiva que provoca errores de detención de arranque:

  1. Si la directiva es una directiva de Control de aplicaciones firmada, desactive Arranque seguro en el menú del BIOS de UEFI. Para obtener ayuda con la localización de dónde desactivar el arranque seguro en el menú del BIOS, consulte con el fabricante de equipos originales (OEM).
  2. Acceda al menú Opciones avanzadas de arranque del equipo y elija la opción Deshabilitar cumplimiento de firma de controlador. Para obtener instrucciones sobre cómo acceder al menú Opciones avanzadas de arranque durante el inicio, consulte con el OEM. Esta opción suspenderá todas las comprobaciones de integridad de código, incluido App Control, para una única sesión de arranque.
  3. Inicie Windows con normalidad e inicie sesión. A continuación, quite las directivas de App Control mediante script.
  4. Si desactivaste El arranque seguro en el paso 1 anterior y tu unidad está protegida por BitLocker, suspende la protección de BitLocker y activa El arranque seguro desde el menú de UEFI BIOS.
  5. Reinicie el equipo.

Nota

Si la unidad está protegida por Bitlocker, es posible que necesite las claves de recuperación de Bitlocker para realizar los pasos 1 a 2 anteriores.