Publicado en

Cómo ejecutar scripts PowerShell con Bypass

En entornos Windows, PowerShell es una herramienta esencial para automatización, administración y despliegue. Sin embargo, muchas veces nos encontramos con restricciones impuestas por la política de ejecución (ExecutionPolicy), que impide ejecutar scripts .ps1 no firmados o descargados de fuentes externas.

Este artículo explica cómo utilizar el comando powershell.exe -ExecutionPolicy Bypass -File .\script.ps1 para ejecutar scripts legítimos sin modificar la configuración global del sistema.


¿Qué es ExecutionPolicy?

ExecutionPolicy es una medida de seguridad que define qué scripts pueden ejecutarse en PowerShell. Los niveles más comunes son:

  • Restricted: No permite ejecutar ningún script.
  • RemoteSigned: Scripts locales permitidos; los remotos requieren firma.
  • AllSigned: Solo se ejecutan scripts firmados por un editor de confianza.
  • Unrestricted: Permite todos los scripts, con advertencias.
  • Bypass: Omite todas las restricciones sin mostrar advertencias.

Uso del comando

powershell.exe -ExecutionPolicy Bypass -File .\script.ps1

¿Qué hace?

  • powershell.exe: Llama al intérprete de PowerShell.
  • -ExecutionPolicy Bypass: Ignora temporalmente la política de ejecución.
  • -File .\script.ps1: Ejecuta el script especificado.

Este comando permite ejecutar el script sin modificar la política de ejecución del sistema ni requerir privilegios elevados. Es ideal para entornos donde no se puede cambiar la configuración global o para despliegues automatizados.


Ventajas

  • Temporal: No altera la configuración permanente del sistema.
  • Seguro: Útil para ejecutar scripts legítimos en entornos controlados.
  • Compatible: Funciona en PowerShell 2.0 en adelante.

Consideraciones

  • Este método no evita bloqueos por AppLocker, antivirus o EDR.
  • Asegúrate de que el script provenga de una fuente confiable.
  • No se recomienda para entornos donde se requiere trazabilidad o firma digital.

Ejemplo práctico

Supongamos que tienes un script de mantenimiento llamado limpieza.ps1. Para ejecutarlo sin restricciones:

powershell.exe -ExecutionPolicy Bypass -File .\limpieza.ps1

Puedes incluir este comando en tareas programadas, scripts de despliegue o accesos directos.

Ingeniero Técnico en Telecomunicaciones, especialidad Telemática. Apasionado por las redes, la seguridad informática y la administración de sistemas. Interesado en tecnologías como FortiGate, MikroTik, Proxmox, NAS y entornos Linux. Me gusta diseñar configuraciones eficientes, seguras y con identidad técnica.

Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.

WordPress Appliance - Powered by TurnKey Linux