Download

Decomprimere e avviare, oppure installare

Versione 0.5.0. Gli archivi non richiedono un programma di installazione e non scrivono nulla nel Registro, e consultare non richiede diritti di amministratore. Un programma di installazione firmato mette invece entrambi i programmi su tutta la macchina. Libero e gratuito con licenza GPL-3.0.

Cosa contiene la versione

FileChe cos'è
BetterWindowsServices-win-x64.zipLa finestra: BetterWindowsServices.exe, un eseguibile autonomo con il proprio runtime .NET all'interno
bws-cli-win-x64.zipLa riga di comando: bws.exe, un eseguibile autonomo, per script, attività pianificate e CI
BetterWindowsServices-win-x64.msiIl programma di installazione: entrambi i programmi in Program Files per ogni account della macchina, la finestra nel menu Start e bws nel PATH della macchina

Ne prenda uno o entrambi - sono due client dello stesso motore e nessuno dei due ha bisogno dell'altro. Su un server, la riga di comando è la più piccola delle due e fa tutto ciò che fa la finestra.

Il programma di installazione contiene esattamente ciò che contengono i due archivi. Si installa in modo silenzioso con msiexec /i BetterWindowsServices-win-x64.msi /qn, una versione più recente si installa sopra una più vecchia e non chiude nulla di ciò che è in esecuzione - chiuda quindi la finestra e qualsiasi bws in esecuzione prima di aggiornare, perché una copia lasciata attiva può fermarsi con un errore. La disinstallazione da Impostazioni, App rimuove i programmi, la voce del menu Start e la voce del PATH, e lascia stare i suoi file.

Gli eseguibili portano una firma Authenticode, così Windows nomina l'editore invece di avvertire di uno sconosciuto.

Requisiti

  • Windows 10 versione 1809 o successiva, oppure Windows Server 2019 o successivo. Solo 64 bit - un processo a 32 bit legge percorsi e chiavi di Registro reindirizzati, il che darebbe risposte sbagliate senza avvisare.
  • Nessun .NET da installare. Entrambi gli eseguibili portano il proprio runtime .NET.
  • Diritti di amministratore per cambiare qualsiasi cosa. Leggere, cercare, gli snapshot e i confronti funzionano senza, con meno voci visibili e lo strumento che lo dice in alto invece di far finta che l'elenco sia l'intera macchina.

La finestra tiene un file suo - la disposizione in cui ha lasciato l'elenco - in %APPDATA%\BetterWindowsServices. Uno snapshot va dove dice a bws snapshot create di metterlo, e nella cartella corrente quando non lo dice.

Il programma parla inglese. La finestra legge un file di lingua, languages\gui.<codice>.json, posto accanto a essa e scelto in base alla lingua di Windows, senza alcuna opzione. Una traduzione è quindi un contributo che si può aggiungere senza ricompilare - CONTRIBUTING.md spiega come.

Antivirus ed EDR

Questo strumento fa ciò che fa un amministratore con i servizi, e parte di questo è ciò che il software di sicurezza tiene d'occhio.

Ferma e avvia servizi, può terminare il processo dietro uno di essi e legge il descrittore di sicurezza e i privilegi richiesti di ogni servizio. Un EDR che segnala un processo che termina svchost.exe fa il suo lavoro, e un arresto forzato qui può assomigliare esattamente a quello.

Ciò che non fa, così che possa verificare l'affermazione: non inietta nulla in alcun processo, non comprime né offusca nulla, non installa alcun servizio né driver e non lascia nulla in esecuzione, e non apre alcuna connessione di rete. È open source con licenza GPL-3.0 e può compilare da sé entrambi gli eseguibili.

Se la sua policy richiede un'esclusione, escluda i due eseguibili per file anziché una cartella. L'unica cosa da trattare con la stessa cura dello strumento stesso è un file di snapshot: descrive l'intera macchina.

Compilare dai sorgenti

SDK .NET 10, su Windows.

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

Alcuni test leggono il vero gestore di controllo dei servizi della macchina su cui girano e confrontano ciò che dice questo strumento con ciò che dice sc.exe. Sono di sola lettura. Gli eseguibili a file singolo che le versioni portano sono queste due pubblicazioni, ciascuna un file con il runtime all'interno:

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

Finiscono come bws.exe e BetterWindowsServices.exe sotto bin/Release/.../win-x64/publish/ di ciascun progetto. I file .pdb accanto sono simboli di debug, e nulla ne ha bisogno per girare.

Quanto costa farlo girare

Misurato su una macchina con 804 servizi. I suoi numeri saranno diversi - il numero di servizi, il disco e il processore li spostano tutti.

Circa un quinto di secondo

perché bws list legga l'intera macchina.

Circa 19 MB

per la riga di comando sulla stessa macchina.