Descarga

Descomprima y ejecute, o instale

Versión 0.5.0. Los archivos no necesitan instalador ni escriben nada en el Registro, y consultar no requiere derechos de administrador. Un instalador firmado coloca en su lugar ambos programas en todo el equipo. Libre y gratuito bajo GPL-3.0.

Qué incluye la versión

ArchivoQué es
BetterWindowsServices-win-x64.zipLa ventana: BetterWindowsServices.exe, un ejecutable autónomo con su propio entorno de ejecución .NET dentro
bws-cli-win-x64.zipLa línea de comandos: bws.exe, un ejecutable autónomo, para scripts, tareas programadas e integración continua
BetterWindowsServices-win-x64.msiEl instalador: ambos programas en Program Files para todas las cuentas del equipo, la ventana en el menú Inicio y bws en el PATH del equipo

Tome uno o ambos: son dos clientes del mismo motor y ninguno necesita al otro. En un servidor, la línea de comandos es la más pequeña de las dos y hace todo lo que hace la ventana.

El instalador contiene exactamente lo que contienen los dos archivos. Se instala en silencio con msiexec /i BetterWindowsServices-win-x64.msi /qn, una versión más nueva se instala sobre una más antigua y no cierra nada de lo que se está ejecutando, así que cierre la ventana y cualquier bws en marcha antes de actualizar, porque una copia que siga abierta puede detenerse con un error. Desinstalar desde Configuración, Aplicaciones elimina los programas, la entrada del menú Inicio y la entrada del PATH, y deja intactos sus propios archivos.

Los ejecutables llevan una firma Authenticode, de modo que Windows nombra al editor en lugar de advertir de uno desconocido.

Requisitos

  • Windows 10 versión 1809 o posterior, o Windows Server 2019 o posterior. Solo 64 bits: un proceso de 32 bits lee rutas y claves del Registro redirigidas, lo que daría respuestas erróneas sin avisar.
  • Sin .NET que instalar. Ambos ejecutables llevan su propio entorno de ejecución .NET.
  • Derechos de administrador para cambiar cualquier cosa. Leer, buscar, las instantáneas y las comparaciones funcionan sin ellos, con menos entradas visibles y la herramienta diciéndolo arriba en lugar de fingir que la lista es todo el equipo.

La ventana guarda un archivo propio, la disposición en la que dejó la lista, en %APPDATA%\BetterWindowsServices. Una instantánea va donde usted le diga a bws snapshot create que la ponga, y al directorio actual cuando no lo hace.

El programa habla inglés. La ventana lee un archivo de idioma, languages\gui.<código>.json, colocado junto a ella y elegido según el idioma de Windows, sin ninguna opción. Una traducción es, por tanto, una contribución que se puede añadir sin recompilar: CONTRIBUTING.md explica cómo.

Antivirus y EDR

Esta herramienta hace lo que hace un administrador con los servicios, y parte de ello es lo que vigila el software de seguridad.

Detiene e inicia servicios, puede terminar el proceso que hay detrás de uno y lee el descriptor de seguridad y los privilegios requeridos de cada servicio. Un EDR que marca un proceso que termina svchost.exe hace su trabajo, y una detención forzada aquí puede parecerse exactamente a eso.

Lo que no hace, para que pueda comprobar la afirmación: no inyecta nada en ningún proceso, no empaqueta ni ofusca nada, no instala ningún servicio ni controlador y no deja nada en ejecución, y no abre ninguna conexión de red. Es de código abierto bajo GPL-3.0 y puede compilar usted mismo ambos ejecutables.

Si su política necesita una exclusión, excluya los dos ejecutables por archivo y no una carpeta. Lo único que merece el mismo cuidado que la propia herramienta es un archivo de instantánea: describe todo el equipo.

Compilar desde el código fuente

SDK de .NET 10, en Windows.

git clone https://github.com/donislawdev/BetterWindowsServices
cd BetterWindowsServices
dotnet build BetterWindowsServices.slnx -c Release
dotnet test BetterWindowsServices.slnx -c Release

Algunas pruebas leen el administrador de control de servicios real del equipo en el que se ejecutan y comparan lo que dice esta herramienta con lo que dice sc.exe. Son de solo lectura. Los ejecutables de un solo archivo que llevan las versiones son estas dos publicaciones, cada una un archivo con el entorno de ejecución dentro:

dotnet publish src/Bws.Cli/Bws.Cli.csproj -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true
dotnet publish src/Bws.Gui/Bws.Gui.csproj -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true

Aparecen como bws.exe y BetterWindowsServices.exe en bin/Release/.../win-x64/publish/ de cada proyecto. Los archivos .pdb que hay al lado son símbolos de depuración, y nada los necesita para ejecutarse.

Lo que cuesta ejecutarlo

Medido en un equipo con 804 servicios. Sus cifras serán distintas: el número de servicios, el disco y el procesador las mueven todas.

Cerca de un quinto de segundo

para que bws list lea todo el equipo.

Cerca de 19 MB

para la línea de comandos sobre el mismo equipo.