Cómo solucionar uno de los problemas más habituales al crear tus programas en PowerShell
De entre las muchas herramientas integradas que nos propone el sistema operativo de Microsoft, Windows, hay algunas especialmente indicadas para los usuarios más avanzados. Aquí nos encontramos por ejemplo con CMD por un lado, y con PowerShell por el otro.
Os hablamos de dos funciones muy importantes que nos encontramos de forma predeterminada en el sistema de Microsoft. Aunque muchos consideran que se trata de la misma herramienta, en realidad no es así. Aunque comparten algunos modos de funcionamiento, podríamos decir que la segunda de las propuestas mencionadas es la evolución de la primera.
De ahí que en los tiempos que corren muchos usuarios se centren, a la hora de trabajar con comandos, en el uso de PowerShell. Aquí tienen la posibilidad de sacar el máximo provecho a Windows y además podrán crear sus propios scripts personalizados. Cierto es que no todo el mundo está capacitado para llevar a cabo estas tareas, pero son más sencillas de lo que podría parecer en un principio.
Sin embargo, una vez hemos tomado la determinación de ponernos manos a la obra para desarrollar nuestros propios pequeños programas para ejecutar en PowerShell, nos podemos encontrar con un problema de base. Y es que se puede dar la circunstancia, bastante más habitual, de lo que parece, para ejecutar un script propio o de terceros, esta herramienta nos devuelve un error. De hecho, el error al que nos referimos aquí se centra en un fallo en la ejecución y puesta en marcha del pequeño trozo de software.
Básicamente, esto significa que las políticas de ejecución de PowerShell no están configuradas de manera correcta. Por tanto, a continuación os vamos a mostrar la manera más sencilla de modificarlas para poder ejecutar todo tipo de scripts aquí.
Desbloquea el uso de scripts en PowerShell
Llegados a este punto es importante tener en consideración que Windows en un principio bloquea la ejecución de scripts por motivos de seguridad. Y es que los usuarios menos experimentados pueden ejecutar códigos maliciosos aquí sin darse cuenta. Sin embargo, aquellos que tienen los conocimientos suficientes tendrán que cambiar la política de uso de la herramienta integrada para hacer funcionar sus propias creaciones.
Para ello basta con abrir una ventana de PowerShell y aquí ejecutar el siguiente comando:
Set-ExecutionPolicy RemoteSigned
En realidad lo que hacemos con este cambio es establecer la funcionalidad para que permita la ejecución de scripts. Asimismo, y si queremos activar la posibilidad de ejecutar tan solo scripts de editores de confianza, tendremos que hacer uso de la siguiente orden:
Set-ExecutionPolicy AllSigned
Por otro lado, y si deseamos tener el mayor control sobre la ejecución de este tipo de elementos en PowerShell, podemos activar la posibilidad de permitir scripts sin restricciones. No tenemos más que usar el comando que os mencionamos ahora:
Set-ExecutionPolicy Unrestricted
Para terminar y una vez hemos finalizado los trabajos que estamos llevando aquí, también se puede dar la circunstancia de que deseemos devolver Windows a su estado original. Con esto os queremos decir que podemos configurar el sistema para que bloquee por completo la ejecución de estos elementos en PowerShell. Esto lo logramos así:
Set-ExecutionPolicy Restricted
Para terminar os diremos que estos comandos de los que os hemos hablado son válidos tanto para Windows 10 como para Windows 11.