Завантаження

Розпакуйте й запустіть або встановіть

Версія 0.5.0. Архівам не потрібен інсталятор, і вони нічого не пишуть у реєстр, а для перегляду права адміністратора не потрібні. Підписаний інсталятор натомість ставить обидві програми на всю машину. Безкоштовний і з відкритим кодом за ліцензією GPL-3.0.

Що є у випуску

ФайлЩо це
BetterWindowsServices-win-x64.zipВікно: BetterWindowsServices.exe, один автономний виконуваний файл зі власним середовищем виконання .NET усередині
bws-cli-win-x64.zipКомандний рядок: bws.exe, один автономний виконуваний файл, для скриптів, запланованих задач і CI
BetterWindowsServices-win-x64.msiІнсталятор: обидві програми в Program Files для кожного облікового запису на машині, вікно в меню «Пуск» і bws у PATH машини

Беріть один або обидва - це два клієнти одного рушія, і жоден не потребує іншого. На сервері командний рядок менший із двох і робить усе, що робить вікно.

Інсталятор несе рівно те, що містять два архіви. Він ставиться тихо командою msiexec /i BetterWindowsServices-win-x64.msi /qn, новіша версія встановлюється поверх старішої, і він нічого не закриває з того, що працює, - тож перед оновленням закрийте вікно та будь-який запущений bws, бо копія, залишена запущеною, може зупинитися з помилкою. Видалення через «Параметри», «Програми» прибирає програми, пункт у меню «Пуск» і запис у PATH, а ваші власні файли не чіпає.

Виконувані файли несуть підпис Authenticode, тому Windows називає видавця, а не попереджає про невідомого.

Вимоги

  • Windows 10 версії 1809 або новіша, чи Windows Server 2019 або новіший. Лише 64-розрядні - 32-розрядний процес читає перенаправлені шляхи й розділи реєстру, що мовчки давало б хибні відповіді.
  • Ставити .NET не потрібно. Обидва виконувані файли несуть власне середовище виконання .NET.
  • Щоб щось змінити, потрібні права адміністратора. Читання, пошук, знімки й порівняння працюють без них, із меншою кількістю видимих записів, і інструмент каже про це нагорі, а не вдає, що список - це вся машина.

Вікно зберігає один власний файл - розкладку, у якій ви залишили список, - у %APPDATA%\BetterWindowsServices. Знімок потрапляє туди, куди ви скажете покласти його команді bws snapshot create, а якщо не скажете - у поточний каталог.

Програма говорить англійською. Вікно читає файл мови, languages\gui.<code>.json, що лежить поруч і вибирається за мовою Windows, без перемикача. Переклад - це тому внесок, який можна додати без перебудови, - як це зробити, пояснює CONTRIBUTING.md.

Антивірус і EDR

Цей інструмент робить зі службами те, що робить адміністратор, а частина цього - саме те, за чим стежить захисне програмне забезпечення.

Він зупиняє й запускає служби, може завершити процес, що стоїть за однією з них, і читає дескриптор безпеки та потрібні привілеї кожної служби. EDR, який позначає процес, що завершує svchost.exe, робить свою роботу, а примусова зупинка тут може виглядати саме так.

Чого він не робить, щоб ви могли перевірити твердження: нічого не впроваджує в жоден процес, нічого не пакує й не обфускує, не встановлює ні служби, ні драйвера й нічого не залишає запущеним, і не відкриває жодного мережевого з'єднання. Він має відкритий код за GPL-3.0, і обидва виконувані файли можна зібрати самому.

Якщо вашій політиці потрібен виняток, виключайте два виконувані файли за файлом, а не за каталогом. Єдине, до чого варто ставитися з такою самою обережністю, як до самого інструмента, - це файл знімка: він описує всю машину.

Збирання з вихідного коду

.NET 10 SDK, у Windows.

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

Деякі тести читають справжній диспетчер керування службами машини, на якій запущені, і порівнюють те, що каже цей інструмент, із тим, що каже sc.exe. Вони лише читають. Однофайлові виконувані файли, які несуть випуски, - це ці дві публікації, кожна в один файл із середовищем виконання всередині:

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

Вони з'являються як bws.exe і BetterWindowsServices.exe у bin/Release/.../win-x64/publish/ кожного проєкту. Файли .pdb поруч із ними - це символи налагодження, і для запуску вони не потрібні.

Скільки коштує його робота

Виміряно на одній машині з 804 службами. Ваші цифри відрізнятимуться: на них впливають кількість служб, диск і процесор.

Близько п'ятої частки секунди

щоб bws list прочитав усю машину.

Близько 19 МБ

для командного рядка на тій самій машині.