El comando Set-ExecutionPolicy
en PowerShell se utiliza para definir la política de ejecución de scripts en el entorno de PowerShell. Esta política controla qué scripts pueden ejecutarse en el sistema, determinando el nivel de seguridad para la ejecución de archivos .ps1
y protegiendo el equipo contra la ejecución de scripts potencialmente maliciosos.
Set-ExecutionPolicy
establece la política de ejecución para el entorno de PowerShell a diferentes niveles (como local, usuario o máquina). Las políticas de ejecución pueden restringir la ejecución de scripts de manera total, permitir solo scripts firmados, o deshabilitar cualquier restricción. Es un comando esencial para los administradores de sistemas que desean configurar un entorno seguro y controlado para ejecutar scripts.
Set-ExecutionPolicy -ExecutionPolicy <Política> -Scope <Alcance>
Restricted
: No permite la ejecución de ningún script.
AllSigned
: Solo se permiten scripts firmados con un certificado de confianza.
RemoteSigned
: Permite scripts locales no firmados, pero los scripts descargados deben estar firmados.
Unrestricted
: Permite la ejecución de todos los scripts, pero muestra advertencias.
Bypass
: No aplica ninguna restricción o advertencia.
Process
, CurrentUser
o LocalMachine
.
1. Permitir la ejecución de todos los scripts sin restricciones:
Set-ExecutionPolicy -ExecutionPolicy Unrestricted
Permite ejecutar cualquier script sin mostrar advertencias. Se recomienda solo para entornos de prueba.
2. Permitir solo scripts locales no firmados y remotos firmados:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
Los scripts creados localmente se pueden ejecutar sin firma, pero los descargados de Internet requieren estar firmados digitalmente.
3. Establecer la política para el usuario actual:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Cambia la política solo para el usuario que está ejecutando el comando, sin afectar a otros usuarios del sistema.
4. Deshabilitar las políticas de ejecución:
Set-ExecutionPolicy -ExecutionPolicy Bypass
Desactiva cualquier restricción de seguridad para la ejecución de scripts (no recomendado para entornos de producción).
5. Revertir la política de ejecución a la configuración predeterminada:
Set-ExecutionPolicy -ExecutionPolicy Restricted
Restringe la ejecución de todos los scripts, volviendo a la configuración más segura por defecto.
LocalMachine
), se debe ejecutar PowerShell con privilegios de administrador.
Unrestricted
o Bypass
puede suponer un riesgo de seguridad si se ejecutan scripts no confiables.
Get-ExecutionPolicy
antes de realizar cambios.
Puedes obtener más detalles sobre Set-ExecutionPolicy
en la documentación oficial de Microsoft.
Jorge García
Fullstack developer