A veces, necesita una aplicación o un script para seguir ejecutándose, ya sea que haya iniciado sesión en su computadora o no. Tal vez sea un Script de PowerShell para monitorear puertos o un servidor web que aloja una página en su red doméstica.
El punto es que si desea que un proceso, script o programa se ejecute mientras la computadora esté encendida, deberá crear un Servicio de Windows.
¿Qué necesito para crear un servicio de Windows?
Para crear un servicio de Windows en Windows 10, existen algunos requisitos previos:
¿Qué es el administrador de servicios no chupador?
Sí, no puede soltar un nombre así sin explicarlo. Seguro que el nombre es desafortunado, pero es exacto. El Non-Sucking Service Manager (NSSM) es posiblemente la forma más fácil de crear un servicio de Windows que sea altamente confiable y configurable. Además, es gratis y Software de código abierto (OSS).
NSSM se puede utilizar a través de Símbolo del sistema de Windows, o una interfaz gráfica de usuario (GUI ). Esto significa que cualquiera puede usarlo. NSSM se puede utilizar en cualquier versión de Windows que se remonta a Windows 2000, incluido. Hay 32 bits y 64 bits versiones. Si está utilizando una computadora de 64 bits, pruebe esa versión primero. Si no funciona, recurra a la versión de 32 bits.
Puede descargar NSSM del sitio web, clonar NSSM de Git o instalar NSSM con Chocolatey. Chocolatey es un administrador de paquetes para Windows. Los métodos de instalación variarán según la ruta que tome. Consulte las instrucciones de NSSM. Para nuestro ejemplo, lo estamos descargando del sitio web de NSSM y lo instalamos en C: \ WINDOWS \ system32.
In_content_1 all: [300x250] / dfp: [640 x 360]->Crear un servicio de Windows con NSSM
Para este ejemplo, crearemos un servicio a partir de un Script de PowerShell para iniciar sesión Porcentaje de carga promedio de la CPU.
Nota: Todas las líneas siguientes seguidas por el símbolo # son comentarios y no afectarán al script.
CLS #Optional. I like to use this to clear the terminal when testing.#Make sure you have a folder called Logs in the same directory as this script #The log is where the records will be stored. Start-Transcript -Path "$PSScriptRoot\Logs\log-CPULoadPercentage-$(get-date -f yyyy-MM-dd).txt" -Append #While loop keeps it running until manually stopped While ($True){ #Creates a timestamp to know when the measurement was taken $timeStamp = get-date -f yyyy-MM-h:mm:ss #Gets the average load percentage at that time, then waits 5 seconds to do it again. $cpuLoadPercent = Get-CimInstance win32_processor | Measure-Object -Property LoadPercentage -Average | Select-Object Average;Start-Sleep -Seconds 5 #Isolates just the average so there isn't a weird @{Average=13} string $cpuLoadPercent = $cpuLoadPercent.Average #writes results to screen, or in this case to the log Write-Host "$timeStamp CPU Load Percentage $cpuLoadPercent" } Stop-Transcript
Hay varias otras pestañas que se pueden usar para personalizar el Servicio. Para este ejercicio, los valores predeterminados en esas pestañas son suficientes. Seleccione el botón Instalar servicio.
Eliminar un servicio de Windows Con NSSM
Tal vez no necesite monitorea tu CPU cargar más, por lo que le gustaría deshacerse del servicio. Afortunadamente, NSSM lo hace fácil.
Eso es todo. Es una buena idea consultar al administrador de servicios para asegurarse de que el servicio ya no esté disponible. Si aún ve el servicio, es posible que deba actualizar la pantalla y debería desaparecer.
Los servicios son una excelente manera de ejecutar aplicaciones o scripts que deben ejecutarse todo el tiempo; reiníciese si fallan. o necesita privilegios distintos a los del usuario actual. Si no necesita su aplicación o secuencia de comandos para hacer todas esas cosas, considere usando una tarea programada en su lugar.