PowerShell es una poderosa herramienta de scripting que permite automatizar tareas y administrar sistemas de manera eficiente. Sin embargo, puede ser útil convertir estos scripts (.ps1) en archivos ejecutables (.exe) por varias razones, como facilitar su distribución, ejecución sin necesidad de PowerShell o simplemente para ocultar el código fuente. En este artículo, te mostraré cómo convertir un script de PowerShell en un archivo ejecutable utilizando la herramienta PS2EXE.
¿Por qué convertir Scripts de PowerShell en ejecutables?
- Facilidad de ejecución: Los archivos .exe pueden ejecutarse fácilmente con un doble clic, sin necesidad de abrir PowerShell.
- Distribución: Los ejecutables son más fáciles de distribuir y no requieren que el usuario tenga conocimientos de PowerShell.
- Seguridad: Ocultar el código fuente del script puede ayudar a proteger la lógica del negocio y las credenciales sensibles.
Herramienta utilizada: PS2EXE
PS2EXE es una herramienta de terceros que permite convertir scripts de PowerShell en archivos ejecutables. Es fácil de usar y ofrece varias opciones de personalización.
Paso a paso para convertir un script de powerShell en un archivo EXE
1. Instalar PS2EXE
Primero, necesitamos instalar el módulo PS2EXE en PowerShell. Abre PowerShell como administrador y ejecuta el siguiente comando:
Install-Module -Name PS2EXE -Scope CurrentUser -Force
Este comando descargará e instalará el módulo PS2EXE en tu perfil de usuario.
2. Convertir el Script PS1 a EXE
Supongamos que tienes un script llamado script1.ps1 ubicado en C:\ruta\al\archivo. Utiliza el siguiente comando para convertir el script:
Invoke-ps2exe -inputFile “C:\ruta\al\archivo\script.ps1” -outputFile “C:\ruta\al\archivo\script.exe”
Opciones Adicionales
PS2EXE ofrece varias opciones adicionales que puedes utilizar, como definir el ícono del archivo ejecutable, ocultar la ventana de la consola, entre otros. Por ejemplo:
Invoke-ps2exe -inputFile “C:\Users\TuUsuario\Documents\Scripts\script.ps1” -outputFile “C:\Users\TuUsuario\Documents\Scripts\script.exe” -iconFile “C:\ruta\al\icono.ico” -noConsole
Este comando incluirá un ícono personalizado y ocultará la ventana de la consola cuando se ejecute el archivo EXE.
Consideraciones Adicionales
- Compatibilidad: Asegúrate de probar el archivo ejecutable en el entorno donde planeas ejecutarlo para confirmar que funciona correctamente, ya que algunas funciones de PowerShell pueden comportarse de manera diferente cuando se ejecutan como un archivo EXE.
- Actualización del Módulo: Verifica regularmente si hay actualizaciones para el módulo PS2EXE para beneficiarte de las últimas mejoras y correcciones de errores.
Conclusión
Convertir tus scripts de PowerShell en archivos ejecutables puede simplificar la distribución y ejecución de tus scripts, además de ofrecer ventajas adicionales en términos de seguridad y facilidad de uso. Con la herramienta PS2EXE, este proceso es sencillo y flexible, permitiéndote personalizar varios aspectos del archivo ejecutable. ¡Prueba esta herramienta y lleva tus scripts de PowerShell al siguiente nivel!
Utilidad systeminfo by palentino
Os dejo la utilidad systeminfo.exe que he creado:
Permite cambiar el fondo de pantalla con la información del sistema (respetando el existente), temperatura de la cpu, uso disco, núcleos, modelo, memoria, etc.
También admite modo consola con parámetros tanto en castellano como inglés, personalización de color y tamaño de texto.
Puedes contribuir con el proyecto mejorando el script. Gracias.
https://github.com/oscardelacuesta/SystemInfo/tree/main