Cómo evitar que defender escanee en tiempo real una carpeta de compilación específica en Windows 11
🔍 WiseChecker

Cómo evitar que defender escanee en tiempo real una carpeta de compilación específica en Windows 11

Cuando compila código con frecuencia, Microsoft Defender Antivirus escanea cada archivo nuevo en su carpeta de salida de compilación. Este escaneo en tiempo real puede ralentizar las compilaciones entre un 20 y un 50 por ciento porque Defender revisa cada ejecutable y biblioteca a medida que se escriben. El escaneo se activa por las operaciones de escritura y cambio de nombre de archivos dentro de la carpeta. Este artículo le muestra cómo agregar una exclusión para esa carpeta de compilación específica para que Defender la deje en paz durante el desarrollo.

Puntos clave: Agregar una exclusión de carpeta a Microsoft Defender

  • Seguridad de Windows > Protección contra virus y amenazas > Administrar la configuración > Agregar o quitar exclusiones: La ruta principal para agregar una exclusión de carpeta para su salida de compilación.
  • Comando de PowerShell Add-MpPreference -ExclusionPath: Le permite agregar una exclusión sin abrir la interfaz de Configuración, útil para scripts.
  • Directiva de grupo > Configuración del equipo > Plantillas administrativas > Componentes de Windows > Microsoft Defender Antivirus > Exclusiones: Se usa para implementar exclusiones en varias máquinas de una organización.

ADVERTISEMENT

Comprender el escaneo en tiempo real y las carpetas de compilación

Microsoft Defender Antivirus supervisa la actividad del sistema de archivos en tiempo real. Cuando un compilador escribe un nuevo ejecutable, DLL o archivo de objeto, Defender revisa el archivo en busca de malware antes de permitir que se complete la escritura. Este comportamiento se controla mediante la configuración Protección en tiempo real en Seguridad de Windows.

Las carpetas de compilación como bin\Debug, obj o out contienen archivos que se generan y sobrescriben cientos de veces por compilación. Cada escritura de archivo activa un escaneo. En un proyecto grande con miles de archivos de salida, el tiempo de escaneo acumulado agrega segundos o minutos a cada compilación.

Excluir la carpeta de compilación le indica a Defender que omita el escaneo en tiempo real para esa ruta y todas las subcarpetas. La exclusión se aplica solo al escaneo en tiempo real. Los escaneos programados y los escaneos a petición siguen revisando la carpeta a menos que también la excluya de esos tipos de escaneo.

Pasos para excluir una carpeta de compilación en Seguridad de Windows

Este método usa la aplicación Seguridad de Windows. Funciona en las ediciones Home, Pro y Enterprise de Windows 11.

  1. Abrir Seguridad de Windows
    Presione la tecla Windows, escriba Seguridad de Windows y presione Entrar. La aplicación se abre en la pestaña Inicio mostrando el estado de su dispositivo.
  2. Ir a Protección contra virus y amenazas
    Haga clic en el mosaico Protección contra virus y amenazas en la barra de navegación izquierda o en el panel principal.
  3. Abrir Administrar la configuración
    En la sección Configuración de Protección contra virus y amenazas, haga clic en Administrar la configuración.
  4. Desplazarse hasta Exclusiones
    Desplácese hacia abajo más allá de Protección en tiempo real, Protección en la nube y Envío automático de muestras hasta que vea el encabezado Exclusiones.
  5. Hacer clic en Agregar o quitar exclusiones
    Haga clic en el vínculo Agregar o quitar exclusiones. Aparece un aviso de Control de cuentas de usuario: haga clic en Sí para continuar.
  6. Agregar una exclusión
    Haga clic en el botón Agregar una exclusión y elija Carpeta en el menú desplegable.
  7. Seleccionar su carpeta de compilación
    En el cuadro de diálogo Seleccionar carpeta, navegue hasta su carpeta de salida de compilación, selecciónela y haga clic en Seleccionar carpeta. La ruta de la carpeta ahora aparece en la lista de Exclusiones.

Después de agregar la exclusión, compile su proyecto de nuevo. Debería notar una reducción notable en el tiempo de compilación porque Defender ya no escanea los archivos escritos en esa carpeta.

ADVERTISEMENT

Pasos para excluir una carpeta de compilación con PowerShell

Use PowerShell para agregar una exclusión sin navegar por la interfaz de Configuración. Este método es útil para scripts de automatización o cuando necesita agregar exclusiones en varias máquinas.

  1. Abrir PowerShell como administrador
    Presione la tecla Windows, escriba PowerShell, haga clic derecho en Windows PowerShell o PowerShell y seleccione Ejecutar como administrador. Haga clic en Sí en el aviso de UAC.
  2. Ejecutar el comando Add-MpPreference
    Escriba el siguiente comando y presione Entrar:
    Add-MpPreference -ExclusionPath "C:\Projects\MyApp\bin\Debug"
    Reemplace la ruta con la ruta completa real a su carpeta de compilación. Use barras invertidas dobles o barras diagonales simples en la ruta.
  3. Verificar la exclusión
    Ejecute Get-MpPreference | Select-Object -ExpandProperty ExclusionPath para confirmar que su carpeta aparece en la lista.

Las exclusiones de PowerShell se almacenan en la misma ubicación que las agregadas a través de Seguridad de Windows. Puede quitar una exclusión más adelante con Remove-MpPreference -ExclusionPath "path".

Pasos para excluir una carpeta de compilación con Directiva de grupo

En entornos empresariales, los administradores de TI pueden implementar exclusiones a través de Directiva de grupo. Este método aplica la exclusión a todas las computadoras del dominio que reciben la directiva.

  1. Abrir la Consola de administración de directivas de grupo
    En un controlador de dominio o una máquina con RSAT instalado, ejecute gpmc.msc para abrir la Consola de administración de directivas de grupo.
  2. Editar o crear una directiva
    Haga clic derecho en la Unidad organizativa de destino y seleccione Crear un GPO en este dominio y vincularlo aquí. Asigne a la directiva un nombre como “Defender Build Folder Exclusion”. Haga clic derecho en el nuevo GPO y seleccione Editar.
  3. Navegar a la directiva de Exclusiones
    Vaya a Configuración del equipo > Directivas > Plantillas administrativas > Componentes de Windows > Microsoft Defender Antivirus > Exclusiones.
  4. Configurar la exclusión de carpeta
    Haga doble clic en Exclusiones de ruta. Seleccione Habilitada. En Opciones, haga clic en Mostrar. En la columna Nombre de valor, escriba un número como 1. En la columna Valor, escriba la ruta completa de la carpeta, por ejemplo C:\Projects\MyApp\bin\Debug. Haga clic en Aceptar y luego en Aceptar de nuevo.
  5. Ejecutar gpupdate en las máquinas cliente
    En cada computadora de destino, abra un Símbolo del sistema como administrador y ejecute gpupdate /force. La exclusión se aplica después de que se actualice la directiva.

Las exclusiones de Directiva de grupo anulan la configuración local. Si un usuario intenta quitar la exclusión más adelante a través de Seguridad de Windows, esta reaparece después de la siguiente actualización de directiva.

ADVERTISEMENT

Problemas comunes y limitaciones con las exclusiones de carpetas de compilación

La exclusión no se aplica a las subcarpetas

De forma predeterminada, una exclusión de carpeta en Defender se aplica a todas las subcarpetas. Si nota que los archivos de las subcarpetas todavía se escanean, verifique que agregó la carpeta principal correcta. Por ejemplo, excluya C:\Projects\MyApp\bin en lugar de C:\Projects\MyApp\bin\Debug para cubrir las configuraciones Debug y Release.

Salida de compilación en vínculos simbólicos o uniones

Si su carpeta de compilación es un vínculo simbólico o una unión de directorios, es posible que Defender no siga el vínculo al aplicar la exclusión. En este caso, agregue la exclusión para la ruta de destino real, no la ruta del vínculo. Haga clic derecho en la carpeta, seleccione Propiedades y consulte la pestaña Ubicación para encontrar la ruta real.

Defender sigue escaneando durante los escaneos programados

Los métodos de exclusión anteriores se aplican solo al escaneo en tiempo real. Para excluir la carpeta de los escaneos programados, agregue la misma ruta a la lista de exclusiones para escaneos programados. Use PowerShell con el parámetro -ExclusionPath: se aplica a todos los tipos de escaneo. Como alternativa, en Directiva de grupo, la misma configuración Exclusiones de ruta cubre tanto el escaneo en tiempo real como el programado.

La exclusión no funciona después de una actualización de Windows

Ocasionalmente, una actualización de Windows restablece la configuración de Defender. Después de una actualización importante, abra Seguridad de Windows y verifique que sus exclusiones sigan presentes. Si faltan, vuelva a agregarlas usando uno de los métodos anteriores.

Comparación de métodos de exclusión de carpetas de compilación

Elemento Interfaz de Seguridad de Windows PowerShell
Método de acceso Aplicación Configuración con clics del mouse Línea de comandos con derechos de administrador
Ideal para Una sola máquina, configuración única Varias máquinas, scripting, automatización
Requiere derechos de administrador Sí, aviso de UAC Sí, ejecutar como administrador
Admite implementación remota No Sí, mediante comunicación remota de PowerShell
Se aplica a todos los tipos de escaneo Solo en tiempo real En tiempo real y programado

Agregar una exclusión de carpeta para su salida de compilación es una forma rápida de reducir los tiempos de compilación en Windows 11. Use la interfaz de Seguridad de Windows para una sola máquina o PowerShell para implementaciones con scripts. Si trabaja con varias configuraciones de compilación, excluya la carpeta principal para cubrir todas las subcarpetas. Después de agregar la exclusión, ejecute una compilación completa para confirmar la mejora de rendimiento. Para compilaciones aún más rápidas, considere deshabilitar Defender temporalmente durante las compilaciones usando el comando Set-MpPreference -DisableRealtimeMonitoring $true en un script de compilación, pero recuerde volver a habilitarlo después de que finalice la compilación.

ADVERTISEMENT