Crea archivos ejecutables EXE desde cualquier script de PowerShell

Crea archivos ejecutables EXE desde cualquier script de PowerShell

David Onieva

A pesar de todas las funciones que el sistema operativo Windows nos ofrece por defecto, los usuarios más avanzados intentar normalmente ir un paso más allá. Para ello echan mano de elementos integrados como el CMD o el PowerShell. Pues bien, aquí os vamos a enseñar cómo estos pueden convertir un script de PowerShell en un EXE.

Las mencionadas herramientas, tanto el CMD o símbolo del sistema, como el PowerShell, forman parte nativa del propio Windows. Estas funcionan generalmente a través de comandos y scripts que nos permiten tener un control mucho mayor sobre el sistema operativo. En la mayoría de las ocasiones, para poder utilizar y sacar el máximo provecho a todo ello, necesitamos tener conocimientos un tanto más avanzados de Windows. Mientras que su interfaz gráfica nos facilita las cosas en gran medida, todo lo que hacemos aquí, lo realizamos a base de comandos que tecleamos.

Así se podría decir que lo que logramos realmente es dar un paso más hacia el interior de Windows para así poder controlarlo y usarlo más en profundidad. Pues bien, muchos en estos casos crean y usan sus propios scripts en el mencionado PowerShell para llevar a cabo todo tipo de tareas y cambios.

Qué son los scripts que creamos en Windows desde PowerShell

Para empezar os diremos que estos elementos en concreto de los que os hablamos, los scripts, son un conjunto de comandos que llevan a cabo determinadas tareas en Windows. Estos pueden crearse con varias herramientas y editores, aunque a nosotros nos interesa en este caso los desarrollados en el mencionado PowerShell.

Para ello el usuario que lo desarrolla no tendrá más que crear la estructura de comandos e introducirlos en el editor PowerShell con su teclado. Una vez haya acabado el proyecto como tal, el formato de fichero más habitual para estos scripts es el .PS1. Esto nos dará la oportunidad, en el futuro, de ejecutar estos elementos para el objetivo que busquemos con el mismo.

poweshell Windows

Pero en este caso os vamos a hablar de otra manera de ejecutar estos elementos. Y es que tenemos la posibilidad de convertir un script de PowerShell un EXE, es decir, el un archivo ejecutable, todo ello a partir del .PS1 que creamos de inicio. De este modo podremos compartir ese elemento como un archivo ejecutable a modo de aplicación, en lugar de compartirlo como un script puro y duro. Como os podréis imaginar, todo esto elimina la necesidad de explicar a los usuarios menos experimentado cómo ejecutar scripts a través de PowerShell o el CMD.

Cómo convertir un script de PowerShell en un EXE

Para esto que os contamos, vamos a hacer uso de una herramienta que igualmente viene implementada en Windows. En concreto nos referimos a la aplicación llamada IExpress. Esta es la que nos va a ayudar ahora para convertir un script de PowerShell en un EXE en Windows 10. Además esta misma utilidad nos podrá ayudar en otros casos, por ejemplo, a la hora de convertir archivos de script de Visual Basic no ejecutables, en ejecutables. Pero pasemos a lo que realmente nos interesa.

Así, una vez tenemos en nuestro poder el script de PowerShell en formato .PS1, por ejemplo, tenemos que abrir la herramienta IExpress de la que os hablamos. Para ello pulsamos la combinación de teclas Win + R para abrir el cuadro de diálogo Ejecutar del sistema. A continuación en el mismo escribimos iexpress y aceptamos.

cuadro ejecutar

Abrir IExpress para convertir un script de PowerShell en un EXE

A continuación los que hacemos es pinchar en el botón que reza Create new Self Extraction Directive file y hacemos clic en Siguiente. En la siguiente ventana que aparece, nos decantamos por la opción de Extract files and run an installation command.

Extraer archivos iexpress

Convertir el script a EXE con IExpress

Ahora, en el cuadro de diálogo que aparece, lo que tenemos que hacer es escribir un nombre para el nuevo archivo ejecutable que vamos a crear. Por ejemplo le podemos llamar Ejecutable-script-softzone.

Ejecutable script softzone

En ese momento la herramienta nos preguntará si deseamos solicitar al usuario que confirme la instalación del paquete. En el caso que nos ocupa, seleccionamos No y pasamos a la siguiente ventana. Del mismo modo IExpress nos preguntará si desea o no mostrar un acuerdo de licencia, donde volvemos a especificar que no es necesario.

Decir que en la siguiente pantalla que aparece, ya podemos hacer clic en el botón Add, lo que nos da la posibilidad de añadir el script de PowerShell que deseamos convertir. Esto lo hacemos a través de la ventana de navegación que aparece. En ese instante el elemento que hemos cagado en esta herramienta ya debería estar visible en la lista desplegable Instalar programa. Así, en la siguiente ventana dejamos la selección original como Default y en la de finalización del proceso, marcamos No Message.

Otras alternativas para convertir un script de PowerShell en un EXE

En el caso de que os encontréis con algún tipo de problema con la herramienta que os hemos descrito anteriormente, decir que podemos echar mano de otras interesantes alternativas.

PS2EXE

Este es un programa que podréis descargar desde este enlace  y que se trata en realidad de un script de Microsoft para el PowerShell.

F2KO Ps1 To Exe

Igualmente podemos echar mano de F2KO Ps1 To Exe, una aplicación de escritorio gratuita con soporte para múltiples lenguajes que puede ejecutarse en Windows. Está diseñada para estas tareas que os comentamos y la podremos descargar desde aquí.

F2KO Online Converter

Aquí nos encontramos con una aplicación web que se podría considerar como un complemento a la aplicación portable del mismo nombre. A esta podemos acceder desde este enlace.

PowerShell Studio

Este es un software puede crear aplicaciones de PowerShell, además de llevar a cabo la depuración de múltiples archivos, crear instaladores MSI, etc. Todo ello lo conseguimos desde aquí.