Off Topic
Si no estás familiarizado con powershell y te gustaría aprender, te recomendamos que empieces por este libro , donde podrás ver numerosos scripts de ejemplo y aprenderás a manejarte bien con la Shell.
Introducción
En Powershell, por defecto, la ejecución de script está deshabilitada, de esta manera, cuando por primera vez intentamos ejecutar un Script de Powershell (*.ps1), nos encontramos con que nos da un error indicando lo siguiente: «La ejecución de Scripts está deshabilitada en este sistema»
Para corregir este error, lo vamos a realizar con una sola línea de Código:
set-executionpolicy unrestricted -force
De esta manera, ya tendremos habilitada la ejecución de scripts.
Existen varios tipos de Política de ejecución de Scripts, son los siguientes:
- AllSigned. (Todos los Scripts deberán estar firmados).
- RemoteSigned. (Todos los Scripts, cuando se descarguen de internet, deberán estar firmados por un publicador de confianza).
- Restricted. (No se permite la ejecución de Scripts).
- Unrestricted. (Se permite sin restricciones la ejecución de Scripts). A partir de Powershell 6.0 esta es la política de ejecución por defecto para equipos que no son Windows y no se puede cambiar, es la política por defecto para equipos No Windows.
- ByPass. (Nada está bloqueado y no hay advertencias ni avisos).
- Undefined. (Al no existir ninguna política definida, por defecto, se aplica «Restricted»)
También existen distintos ámbitos de aplicación, a continuación os exponemos un listado:
- MachinePolicy . Establecido por una Política de grupo para todos los usuarios del equipo.
- UserPolicy . Establecido por una Política de grupo para el usuario actual del equipo.
- Proceso . Afecta solo a la sesión actual de PowerShell.
- Usuario actual . Afecta solo al usuario actual.
- Máquina local . Alcance predeterminado que afecta a todos los usuarios del equipo.
Para Comprobar qué política está asignada en cada tipo de ámbito, deberemos ejecutar el siguiente comando en Powershell:
Get-ExecutionPolicy -list
Una vez ejecutado, veremos una salida en la consola de Powershell como esta que mostramos a continuación:
Esto es todo, esperamos que os sea de utilidad, si tenéis cualquier duda o consulta, no dudéis en escribir vuestro comentario y os responderemos a la mayor brevedad posible!
Para más información acerca del cmdlet «Set-ExecutionPolicy» y ver toda la documentación relativa a este, os dejamos a continuación el enlace a la Doc. Oficial de Microsoft al respecto: