Problema ExecutionPolicy en PowerShell

Descripción general

El error o bloqueo relacionado con ExecutionPolicy ocurre cuando PowerShell impide la ejecución de scripts por motivos de seguridad.
Esto es común al intentar ejecutar scripts locales (.ps1) descargados de Internet o creados manualmente.

PowerShell aplica políticas de ejecución para:

  • Prevenir la ejecución accidental de código malicioso
  • Controlar el origen y firma de los scripts
  • Restringir comportamientos no deseados en entornos corporativos

Este problema suele aparecer al trabajar con:

  • Automatización
  • Scripts de instalación
  • Herramientas de desarrollo
  • Configuraciones locales de Windows

Relacionado directamente con: powershell

Causas comunes

  • Política de ejecución establecida como Restricted
  • Scripts descargados desde Internet marcados como no confiables
  • Uso de PowerShell sin privilegios adecuados
  • Entornos donde la política está controlada por el sistema o dominio

Solución recomendada (usuario actual)

Cambiar la ExecutionPolicy

Esta solución modifica la política solo para el usuario actual, evitando impactos a nivel global del sistema.

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

Explicación del comando

  • Set-ExecutionPolicy
    Cambia la política de ejecución de PowerShell

  • RemoteSigned
    Permite:
    • Scripts locales sin firmar
    • Scripts descargados solo si están firmados por un editor confiable
  • -Scope CurrentUser
    Aplica el cambio únicamente al usuario actual
    No requiere modificar políticas del sistema completo

Otras ExecutionPolicy relevantes

  • Restricted
    No permite ejecutar ningún script

  • AllSigned
    Todos los scripts deben estar firmados

  • Unrestricted
    Permite todos los scripts (menos seguro)

  • Bypass
    Ignora completamente las restricciones (usar solo para pruebas controladas)

Verificar la política actual

Get-ExecutionPolicy -List

Consideraciones de seguridad

  • No usar Unrestricted o Bypass en entornos de producción
  • Preferir RemoteSigned para desarrollo local
  • Verificar el origen de los scripts antes de ejecutarlos
  • En entornos corporativos, la política puede estar forzada por Group Policy

Contextos donde aparece el problema

  • Instalación de herramientas vía scripts
  • Uso de frameworks o CLIs
  • Ejecución de scripts de automatización
  • Configuración inicial de entornos de desarrollo

Recursos actualizados (2025-2026) sobre PowerShell ExecutionPolicy

Documentación oficial y guías recientes

💻 Conceptos y detalles del cmdlet Set-ExecutionPolicy

  • Explicación moderna de Set-ExecutionPolicy con sintaxis, scopes y ejemplos aplicables a PowerShell en Windows (incluyendo PS7).
    Utiliza ejemplos reales de cómo aplicar distintos valores y scopes de política.
    Set-ExecutionPolicy - J-Docs

📊 Webinar / mejores prácticas de seguridad (2024-2025)

  • PDF sobre seguridad de PowerShell y Execution Policy con definiciones de cada nivel (Restricted, RemoteSigned, AllSigned, Unrestricted, Bypass, Undefined) y su recomendación para entornos corporativos.
    También menciona que la política puede sobrescribirse por GPO.
    Securing PowerShell in the enterprise

🛠 Recursos prácticos para cambiar ExecutionPolicy (Publicado dic 2025)

  • Guía paso a paso para:

Comandos básicos y útiles (2025-2026)

🎯 Consultar y entender la política actual

Get-ExecutionPolicy
Get-ExecutionPolicy -List

`

🧰 Cambiar la política local o por usuario

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

🔒 Alternativas de scopes para casos especiales

Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process

Seguridad y consideraciones 2025-2026

🔐 ¿Qué significa realmente ExecutionPolicy?

  • Es una barrera leve para prevenir ejecuciones accidentales, no un mecanismo de seguridad completo.
  • No impide que un usuario con privilegios ejecute scripts si decide hacerlo explícitamente.
  • Para seguridad real se recomiendan controles como AppLocker, Device Guard o políticas de firma obligatoria.
    Securing PowerShell in the enterprise

⚠️ Riesgos al modificar ExecutionPolicy

Casos prácticos observados en 2025

🧩 Problemas con scripts comunes

  • Tras actualizar herramientas (por ejemplo Node.js), scripts como npm.ps1 pueden bloquearse por ExecutionPolicy.
    Solución típica:
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned

🧠 Administración avanzada

  • En entornos con políticas estrictas como AllSigned, algunos módulos legítimos pueden no cargarse sin firma.
  • Opciones habituales:

Enlaces de referencia y aprendizaje

🧾 Lecturas oficiales y prácticas

Recursos comunitarios útiles

📌 Gist práctico con comandos

Comandos de referencia rápida

Get-ExecutionPolicy -List
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process