Unduh

Ekstrak dan jalankan, atau pasang

Versi 0.5.0. Arsip tidak membutuhkan installer dan tidak menulis apa pun ke registri, dan melihat tidak membutuhkan hak administrator. Installer bertanda tangan sebaliknya memasang kedua program untuk seluruh mesin. Bebas dan bersumber terbuka di bawah GPL-3.0.

Isi rilis

BerkasApa itu
BetterWindowsServices-win-x64.zipJendela: BetterWindowsServices.exe, satu berkas eksekusi mandiri dengan runtime .NET-nya sendiri di dalamnya
bws-cli-win-x64.zipBaris perintah: bws.exe, satu berkas eksekusi mandiri, untuk skrip, tugas terjadwal, dan CI
BetterWindowsServices-win-x64.msiInstaller: kedua program di Program Files untuk setiap akun di mesin, jendela di menu Start, dan bws di PATH mesin

Ambil salah satu atau keduanya - keduanya adalah dua klien dari mesin yang sama dan tidak ada yang membutuhkan yang lain. Di server, baris perintah adalah yang lebih kecil dari keduanya dan melakukan semua yang dilakukan jendela.

Installer membawa persis apa yang dibawa kedua arsip. Ia terpasang secara senyap dengan msiexec /i BetterWindowsServices-win-x64.msi /qn, versi yang lebih baru terpasang di atas yang lebih lama, dan ia tidak menutup apa pun yang sedang berjalan - jadi tutup jendela dan setiap bws yang berjalan sebelum meningkatkan versi, karena salinan yang dibiarkan berjalan dapat berhenti dengan galat. Mencopot melalui Pengaturan, Aplikasi menghapus program, entri menu Start, dan entri PATH, dan membiarkan berkas Anda sendiri.

Berkas eksekusi membawa tanda tangan Authenticode, sehingga Windows menyebut penerbitnya alih-alih memperingatkan tentang penerbit yang tidak dikenal.

Persyaratan

  • Windows 10 versi 1809 atau yang lebih baru, atau Windows Server 2019 atau yang lebih baru. Hanya 64-bit - proses 32-bit membaca jalur dan kunci registri yang dialihkan, yang akan diam-diam menghasilkan jawaban yang salah.
  • Tidak ada .NET yang perlu dipasang. Kedua berkas eksekusi membawa runtime .NET-nya sendiri.
  • Hak administrator untuk mengubah apa pun. Membaca, mencari, snapshot, dan perbandingan berfungsi tanpanya, dengan lebih sedikit entri yang terlihat dan alat ini menyatakannya di bagian atas alih-alih berpura-pura bahwa daftar itu adalah seluruh mesin.

Jendela menyimpan satu berkasnya sendiri - tata letak tempat Anda meninggalkan daftar - di bawah %APPDATA%\BetterWindowsServices. Snapshot disimpan di tempat yang Anda minta pada bws snapshot create, dan di direktori saat ini bila Anda tidak memintanya.

Program ini berbahasa Inggris. Jendela membaca berkas bahasa, languages\gui.<kode>.json, yang ditaruh di sebelahnya dan dipilih menurut bahasa Windows, tanpa sakelar. Terjemahan karena itu merupakan kontribusi yang dapat ditambahkan tanpa membangun ulang - CONTRIBUTING.md menjelaskan caranya.

Antivirus dan EDR

Alat ini melakukan apa yang dilakukan administrator terhadap layanan, dan sebagian dari itu adalah persis apa yang diawasi perangkat lunak keamanan.

Ia menghentikan dan memulai layanan, dapat mengakhiri proses di balik salah satunya, dan membaca deskriptor keamanan serta hak istimewa yang dibutuhkan setiap layanan. EDR yang menandai proses yang mengakhiri svchost.exe sedang menjalankan tugasnya, dan penghentian paksa di sini bisa tampak persis seperti itu.

Apa yang tidak dilakukannya, agar Anda dapat memeriksa klaim itu: ia tidak menyuntikkan apa pun ke proses mana pun, tidak mengemas atau mengaburkan apa pun, tidak memasang layanan maupun driver dan tidak meninggalkan apa pun yang berjalan, dan tidak membuka koneksi jaringan apa pun. Ia bersumber terbuka di bawah GPL-3.0 dan Anda dapat membangun kedua berkas eksekusi sendiri.

Jika kebijakan Anda membutuhkan pengecualian, kecualikan kedua berkas eksekusi berdasarkan berkas, bukan folder. Satu-satunya hal yang layak diperlakukan dengan kehati-hatian yang sama seperti alat itu sendiri adalah berkas snapshot: ia menggambarkan seluruh mesin.

Membangun dari sumber

.NET 10 SDK, di Windows.

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

Beberapa pengujian membaca service control manager nyata dari mesin tempat pengujian berjalan dan membandingkan apa yang dikatakan alat ini dengan apa yang dikatakan sc.exe. Pengujian itu hanya-baca. Berkas eksekusi satu-berkas yang dibawa rilis adalah dua publikasi ini, masing-masing satu berkas dengan runtime di dalamnya:

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

Hasilnya berada sebagai bws.exe dan BetterWindowsServices.exe di bawah bin/Release/.../win-x64/publish/ setiap proyek. Berkas .pdb di sebelahnya adalah simbol debug, dan tidak ada yang membutuhkannya untuk berjalan.

Biaya untuk menjalankannya

Diukur pada satu mesin dengan 804 layanan. Angka Anda akan berbeda - jumlah layanan, disk, dan prosesor semuanya memengaruhinya.

Sekitar seperlima detik

agar bws list membaca seluruh mesin.

Sekitar 19 MB

untuk baris perintah pada mesin yang sama.