Açıp çalıştırın ya da kurun
Sürüm 0.5.0. Arşivler yükleyici gerektirmez ve kayıt defterine hiçbir şey yazmaz; bakmak yönetici hakları gerektirmez. İmzalı bir yükleyici ise iki programı birden tüm makineye kurar. GPL-3.0 altında özgür ve açık kaynak.
Sürümde neler var
| Dosya | Nedir |
|---|---|
BetterWindowsServices-win-x64.zip | Pencere: BetterWindowsServices.exe, içinde kendi .NET çalışma zamanı olan tek bir bağımsız yürütülebilir dosya |
bws-cli-win-x64.zip | Komut satırı: bws.exe, tek bir bağımsız yürütülebilir dosya; betikler, zamanlanmış görevler ve CI için |
BetterWindowsServices-win-x64.msi | Yükleyici: makinedeki her hesap için Program Files içinde iki program, Başlat menüsünde pencere ve makinenin PATH'inde bws |
Birini ya da ikisini alın - aynı motorun iki istemcisidir ve hiçbiri diğerine ihtiyaç duymaz. Bir sunucuda komut satırı ikisinden küçüğüdür ve pencerenin yaptığı her şeyi yapar.
Yükleyici, iki arşivin içerdiğinin aynısını taşır. msiexec /i BetterWindowsServices-win-x64.msi /qn ile sessizce kurulur, daha yeni bir sürüm eskisinin üzerine kurulur ve çalışan hiçbir şeyi kapatmaz - bu yüzden yükseltmeden önce pencereyi ve çalışan her bws'i kapatın; çünkü çalışır halde bırakılan bir kopya bir hatayla durabilir. Ayarlar, Uygulamalar'dan kaldırmak programları, Başlat menüsü girdisini ve PATH girdisini kaldırır; kendi dosyalarınıza dokunmaz.
Yürütülebilir dosyalar bir Authenticode imzası taşır; böylece Windows bilinmeyen bir yayımcı konusunda uyarmak yerine yayımcıyı adıyla anar.
Gereksinimler
- Windows 10 sürüm 1809 veya sonrası ya da Windows Server 2019 veya sonrası. Yalnızca 64 bit - 32 bitlik bir işlem yönlendirilmiş yolları ve kayıt defteri anahtarlarını okur; bu da sessizce yanlış yanıtlar üretirdi.
- Kurulacak .NET yok. Her iki yürütülebilir dosya da kendi .NET çalışma zamanını taşır.
- Herhangi bir şeyi değiştirmek için yönetici hakları. Okuma, arama, anlık görüntüler ve karşılaştırmalar bunlar olmadan da çalışır; daha az öğe görünür ve araç, listenin tüm makine olduğunu iddia etmek yerine bunu en üstte söyler.
Pencere kendine ait tek bir dosya tutar - listeyi bıraktığınız düzen - %APPDATA%\BetterWindowsServices altında. Bir anlık görüntü, bws snapshot create'e nereye koymasını söylerseniz oraya gider; söylemezseniz geçerli dizine.
Program İngilizce konuşur. Pencere, yanında duran ve Windows'un diline göre, anahtarsız seçilen bir dil dosyasını, languages\gui.<kod>.json, okur. Dolayısıyla çeviri, yeniden derlemeden eklenebilecek bir katkıdır - CONTRIBUTING.md nasıl yapılacağını anlatır.
Antivirüs ve EDR
Bu araç, bir yöneticinin hizmetlerle yaptığını yapar ve bunun bir kısmı tam olarak güvenlik yazılımının izlediği şeydir.
Hizmetleri durdurur ve başlatır, birinin arkasındaki süreci sonlandırabilir ve her hizmetin güvenlik tanımlayıcısını ve gereken ayrıcalıklarını okur. svchost.exe'yi sonlandıran bir süreci işaretleyen bir EDR işini yapıyordur ve buradaki zorla durdurma tam olarak öyle görünebilir.
Neyi yapmadığı, iddiayı doğrulayabilmeniz için: hiçbir işleme hiçbir şey enjekte etmez, hiçbir şeyi paketlemez ya da gizlemez, hiçbir hizmet ya da sürücü kurmaz ve hiçbir şeyi çalışır halde bırakmaz, hiçbir ağ bağlantısı açmaz. GPL-3.0 altında açık kaynaktır ve iki yürütülebilir dosyayı da kendiniz derleyebilirsiniz.
İlkeniz bir istisna gerektiriyorsa, iki yürütülebilir dosyayı klasöre göre değil dosyaya göre hariç tutun. Araçla aynı özenle ele alınmaya değer tek şey bir anlık görüntü dosyasıdır: tüm makineyi tanımlar.
Kaynaktan derleme
.NET 10 SDK, Windows üzerinde.
git clone https://github.com/donislawdev/BetterWindowsServices
cd BetterWindowsServices
dotnet build BetterWindowsServices.slnx -c Release
dotnet test BetterWindowsServices.slnx -c Release
Bazı testler, çalıştıkları makinenin gerçek hizmet yöneticisini okur ve bu aracın söylediğini sc.exe'nin söylediğiyle karşılaştırır. Salt okunurdur. Sürümlerin taşıdığı tek dosyalık yürütülebilir dosyalar şu iki yayımlamadır; her biri çalışma zamanı içinde tek bir dosyadır:
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 ve BetterWindowsServices.exe olarak her projenin bin/Release/.../win-x64/publish/ klasörüne düşerler. Yanlarındaki .pdb dosyaları hata ayıklama sembolleridir ve çalışmak için hiçbir şeyin onlara ihtiyacı yoktur.
Çalıştırmanın maliyeti
804 hizmetli tek bir makinede ölçüldü. Sizin rakamlarınız farklı olacaktır - hizmet sayısı, disk ve işlemci hepsini etkiler.
Yaklaşık beşte bir saniye
bws list'in tüm makineyi okuması için.
Yaklaşık 19 MB
aynı makinede komut satırı için.