Volver a la página principal
lunes 7 octubre 2024
72

Cómo cambiar la política de ejecución en PowerShell con Set-ExecutionPolicy

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.

¿Qué es y cómo usar Set-ExecutionPolicy en PowerShell?

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.

Sintaxis básica de Set-ExecutionPolicy

Set-ExecutionPolicy -ExecutionPolicy <Política> -Scope <Alcance>
  • -ExecutionPolicy: Especifica el nivel de la política de ejecución. Las opciones comunes son:
  • 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.
  • -Scope: Define el nivel de aplicación de la política. Puede ser Process, CurrentUser o LocalMachine.

Ejemplos de uso de Set-ExecutionPolicy

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.

Consideraciones de seguridad

  • Para cambiar la política a nivel del sistema (LocalMachine), se debe ejecutar PowerShell con privilegios de administrador.
  • Cambiar la política a Unrestricted o Bypass puede suponer un riesgo de seguridad si se ejecutan scripts no confiables.
  • Verifica la política actual con el comando Get-ExecutionPolicy antes de realizar cambios.

Referencia oficial

Puedes obtener más detalles sobre Set-ExecutionPolicy en la documentación oficial de Microsoft.

Etiquetas:
powershell
Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer