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
| File | Che cos'è |
|---|---|
BetterWindowsServices-win-x64.zip | La finestra: BetterWindowsServices.exe, un eseguibile autonomo con il proprio runtime .NET all'interno |
bws-cli-win-x64.zip | La riga di comando: bws.exe, un eseguibile autonomo, per script, attività pianificate e CI |
BetterWindowsServices-win-x64.msi | Il 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.