Como saltear las politicas de ejecución de Power Shell (PowerShell Execution policy)

Por defecto PowerShell esta configurado para prevenir la ejecución de PowerShell Scripts en los sistemas operativos Windows. Esto es para evitar ejecuciones de administradores de sistemas, desarrolladores, etc. de forma errónea. En este post de hoy, se cubrirá la forma de poder saltear esta restricción para poder ejecutar nuestros scripts.

  • Qué es una  política de ejecución de Power Shell

Las políticas de ejecución de PowerShell son configuraciones para determinar cual tipo de scripts de PowerShell pueden ser ejecutados en el sistema operativo. Por defecto es fijado a “Restricted“, el cual significa ninguno. Hay que hacer una salvedad aqui, que dichas restricciones no significan un medida de seguridad. Es más un control para evitar o prevenir ejecuciones erróneas.

  • Cómo podemos ver las restricciones actuales de PowerShell

Antes de poder ver como saltear o configurar  las restricciones actuales de PowerShell, les mostraré que comando ejecutar para  ver cuales están configuradas actualmente en nuestro sistema.

Debajo en la imagen se muestra el comando “Get-ExecutionPolicy” el cual deplegará la actual restricción de PowerShell. Como habíamos indicado anteriormente la misma es “Restricted”.

 

PowerShell_01

  • Cómo podemos ver los distintos niveles de políticas de ejecución en el Sistema Operativo

Pueden haber distintos niveles de políticas de ejecución configurados a nivel del sistema operativo. Para ver la lista completa podemos utilizar el siguiente comando “Get-ExecutionPolicy” con el parámetro “List“. En la siguiente imagen agregamos los parámetros de Format-Table and AutoSize como parámetros extras para verlo en formato tabla.

PowerShell_02

  • Como saltear las políticas de ejecución de PowerShell

Bueno llegamos al punto clave de este post. A continuación veremos tres formas de poder configurar las políticas de ejecución de PowerShell. Como vemos en la siguiente imagen, este es el error típico a la hora de ejecutar un script de PowerShell sin antes haber configurado las políticas de ejecución de PowerShell.

PowerShell_03

  1. Configurar las políticas de ejecución a nivel de Procesos (Process Scope)

Como vimos anteriormente las políticas de ejecución de PowerShell pueden ser fijadas a distintos niveles  Esto incluye por ejemplo el proceso en el cual usted tiene el control a la hora de ejecutar el script. Usaremos esta configuración para sacar el permiso de “Restricted” a “Unrestricted” y que tendrá como duración su sesión.

En la siguiente imagen vemos como utilizamos el comando “Set-ExecutionPolicyUnrestricted -Scope process  para configurar lo antes mencionado. Y luego de ejecutado el comando podemos ejecutar nuestro script sin restricciones.

PowerShell_04

2. Usando el parámetro de “Unrestricted”

Otra forma de configuración de las políticas de ejecución es utilizando el parámetro “Unrestricted” de PowerShell.exe. Este comando además de permitir la ejecución del script de PowerShell. nos permite ejecutar por ejemplo scripts bajados de Internet que no tienen firma (unsigned). En este último caso al correr el script usted es consultado para dar permiso de ejecución.

PowerShell_05

3. Configurando las políticas de ejecución a nivel del usuario actual.

Esta configuración es similar a la configuración a nivel de proceso que vimos anteriormente. Pero aplica solamente a nivel del ambiente del usuario actual. Esto modifica la clave de registro de windows de PowerShell que esta configurada con el valor “Restricted”.

PowerShell_06

  • Conclusiones

Microsoft no ha puesto estas políticas de ejecución por el echo de restringir la ejecuciones de scripts a desarrolladores, administradores, etc. Microsoft con esta política intenta un control de seguridad antes de poder ejecutar de forma errónea un script de PowerShell. PowerShell tiene mucha potencia para realizar un sin fin de tareas de desarrollo, administración y procesos. Además Microsoft nos brinda muchas maneras de poder configurar las políticas de ejecución de scripts según sean nuestras necesidades. Bueno espero que este tema haya sido de ayuda.  Esperamos sus comentarios o consultas. No hay nada mas enriquecedor que el intercambio de opiniones.

Saludos

Admin.

 

The following two tabs change content below.
Admin

Admin

Administrador de Dotnetuy, con más de 20 años de experiencia en el mundo de la informática y el desarrollo de software en diferentes lenguajes, trabajando en backend y frontend, desde sus primeros pasos con clipper cuando comenzaba la década de los 90’s , y continuando con pascal, C, C++, Visual basic, y multiples gestores de bases de datos hasta hoy en día con C# y todas las técnologias relacionadas con .NET.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *