Convertir un script de PowerShell en un servicio de Windows (ps1 a servicio)

Como es bien sabido, PowerShell funciona de manera excelente en el ámbito de la administración. Sin embargo, hay ocasiones en las que es necesario ejecutar un script ps1 como un servicio. Dado que PowerShell fue diseñado inicialmente como una herramienta para la automatización y la gestión del sistema, no puede funcionar de forma nativa en modo Servicio (PowerShell a Servicio).

Esta limitación puede resultar frustrante cuando necesitas un script de supervisión en segundo plano, una tarea de limpieza automatizada o cualquier proceso de PowerShell de larga duración en Windows Server 2025, especialmente en entornos de producción donde se espera que los servicios se inicien automáticamente y sobrevivan a los cierres de sesión de los usuarios.

Afortunadamente, este problema se puede resolver utilizando herramientas de terceros que permiten ejecutar cualquier archivo ejecutable (o script) como un servicio de Windows.


Herramientas para ejecutar archivos EXE como servicios de Windows

Existen muchas utilidades que pueden convertir un archivo ejecutable en un servicio de Windows, entre ellas:

En este artículo, utilizaremos EXE Service, ya que ya proporciona un ejemplo de configuración listo para PowerShell y cuenta con soporte tanto de interfaz gráfica como de línea de comandos.


Ejecutar un script de PowerShell como un servicio de Windows

Paso 1: Abrir EXE Service

Después de instalar EXE Service, aparecerá un acceso directo en tu escritorio.

La interfaz gráfica solo tiene la intención de facilitar la creación del servicio.
Si estás trabajando en un Windows Server sin interfaz gráfica, tienes dos opciones:


Paso 2: Crear un nuevo servicio

EXE Service ya incluye un ejemplo listo para usar de PowerShell a Servicio.

Simplemente haz clic en el botón "Crear desde ejemplo".

Convertir PowerShell a Servicio


Paso 3: Configurar la ruta a tu archivo .ps1

En la ventana que aparece, debes especificar las rutas correctas:

Asegúrate de que las rutas coincidan con tu instalación real de PowerShell y la ubicación del script.

Configuración de PowerShell a Servicio


Paso 4: Guardar e iniciar el servicio

Haz clic en "Crear servicio" para crear el servicio de Windows.

Si deseas que el servicio se ejecute inmediatamente en esta computadora, haz clic en "Iniciar".

Después de esto, tu script de PowerShell:


Transferir el servicio a otro servidor

Si planeas mover la configuración del servicio a otro Windows Server, sigue las instrucciones oficiales de transferencia de EXE Service proporcionadas en su documentación.

Este enfoque es especialmente útil al implementar configuraciones idénticas en múltiples servidores.


Conclusión

PowerShell no fue construido como un servicio, pero herramientas como EXE Service resuelven eso de manera limpia. Envuelve tu script .ps1, y se iniciará al arrancar, sobrevivirá a los cierres de sesión y se integrará perfectamente con services.msc. Sin soluciones complicadas, sin trucos de tareas programadas. Solo una solución directa y lista para el administrador.


Descarga EXE_Service.msi y convierte cualquier .exe en un servicio de Windows en segundos.