Capítulo 2: Los primeros pasos

Antes de empezar

Un aspecto importante para PowerShell es la seguridad. Su objetivo es evitar que se ejecuten, sin la autorización del usuario, scripts que puedan dañar al equipo. Y para alcanzarlo, dispone de varios modos de restricción en la ejecución de scripts.

Lo primero es que, de forma predeterminada, el sistema no permite la ejecución de ningún tipo de scripts. De ese modo, un usuario sin los conocimientos adecuados, no tendrá que preocuparse de nada. Simplemente, su sistema no ejecuta scripts.

No obstante, un usuario que sí pretenda usar scripts en su actividad diaria, deberá ajustar esta política predeterminada del sistema. Pero antes, necesitamos saber que existen cuatro niveles de permisividad disponibles:

  • Restricted: En este nivel no se permite la ejecución de scripts. Es decir. PowerShell sólo puede utilizarse en modo interactivo. Esta es la opción predeterminada.

  • AllSigned: Cuando esta sea la opción elegida, deberán estar autenticados todos los scripts, antes de poder ejecutarlos. Es la opción más restrictiva

  • RemoteSigned: En este caso, sólo deberán estar autenticados los scripts que procedan de una ubicación remota. Por ejemplo, los que hayan sido descargados.

  • Unrestricted: Si elegimos esta opción, se ejecutará cualquier script sin importar su origen. Se trata de la opción menos recomendada.

Para conocer la configuración actual de la política de ejecución de scripts, basta con ejecutar el siguiente cmdlet:

Get-ExecutionPolicy

En nuestro caso, comprobamos que se encuentra habilitada la opción más restrictiva.

Scripts-en-PowerShell-Guia-para-principiantes-036

Para establecer la política de ejecución de scripts, necesitaremos ejecutar el cmdlet Set-ExecutionPolicy seguido del nombre de política elegido. Por ejemplo, para elegir RemoteSigned escribiremos lo siguiente:

Set-ExecutionPolicy RemoteSigned

Para ejecutar Set-ExecutionPolicy necesitamos privilegios administrativos. Recuerda que ya hemos hablado de cómo ejecutar PowerShell como administrador en el apartado Ejecutar PowerShell del capítulo 1.

Al ejecutarlo, nos aparece un mensaje avisándonos del peligro que supone el cambio en la política de ejecución de scripts. A continuación, deberemos indicar si estamos de acuerdo con el cambio. Incluso podemos pulsar el carácter ? para obtener ayuda.

Para poder ejecutar los scripts que escribamos más adelante, ahora deberemos contestar pulsando la tecla S.

Scripts-en-PowerShell-Guia-para-principiantes-030

Puedes encontrar información detallada sobre los cmdlets Get-ExecutionPolicy  y Set-ExecutionPolicy  en el sitio web de Microsoft: