Cari layanan Windows Anda, pratinjau setiap perubahan, dan lihat apa yang menyimpang sejak kemarin
Better Windows Services adalah services.msc yang dibangun ulang untuk orang yang mengelola mesin Windows - sebuah jendela dan sebuah baris perintah di atas satu mesin yang sama. Ajukan pertanyaan kepada mesin alih-alih menggulir delapan ratus baris. Lihat apa yang akan dilakukan sebuah perubahan sebelum Anda menekan apa pun. Dan bagian yang tidak pernah dimiliki services.msc: bekukan setiap layanan ke dalam satu berkas, lalu seminggu kemudian tanyakan apa yang berubah.
- Bebas dan gratis, GPL-3.0
- Satu berkas, atau sebuah installer
- Tidak perlu hak administrator untuk melihat
- Tidak pernah terhubung ke internet
bws yang meminta hal yang persis sama. Program ini berbahasa Inggris - jendela membaca berkas bahasa yang ditaruh di sebelahnya, sehingga terjemahan dimungkinkan tanpa membangun ulang.Seperti apa tampilannya saat dipakai
Sebuah sesi nyata, pada Windows yang terpasang dalam bahasa Polandia - nama tampilan berasal dari Windows, jadi memakai bahasanya. Jendela itu sendiri berbahasa Inggris.
services.msc nyaris tidak berubah sejak Windows 2000
Administrator menghabiskan berjam-jam seminggu di dalamnya sambil menabrak tembok yang sama.
- Tidak ada pencarian. Satu-satunya navigasi adalah melompat ke huruf pertama sebuah nama tampilan.
- Tidak ada pemfilteran. Tidak ada cara untuk bertanya tunjukkan apa yang diatur mulai otomatis dan tidak berjalan.
- Satu baris sekali waktu. Me-restart dua belas layanan berarti dua belas klik kanan dan dua belas kali menunggu.
- "Stopping..." selamanya, tanpa jalan keluar selain Task Manager dan menebak prosesnya.
- Tidak ada riwayat. Tidak ada yang tahu siapa yang mengatur tipe startup itu menjadi Disabled, atau kapan.
- Data tersembunyi. Proses, pemicu, hak istimewa, deskriptor keamanan, siapa yang menandatangani berkas eksekusi - semuanya butuh
sc.exedari ingatan, atau registri. - Tidak ada padanan di baris perintah.
sc.exepunya sintaks dari era sembilan puluhan, danGet-Servicebawaan Windows, di Windows PowerShell 5.1, tidak menampilkan akun tempat layanan berjalan, apalagi deskripsinya. PowerShell 7 menampilkan keduanya dan dipasang terpisah.
Alat lain masing-masing memperbaiki sebagian
Process Hacker dan System Informer menampilkan daftar yang kaya dan dapat mematikan proses secara paksa, tetapi tidak punya audit dan tidak punya baris perintah. sc.exe dan PsService bisa melakukan segalanya dan tidak memberi tahu Anda apa pun. Cmdlet *-Service milik PowerShell bisa diskrip dan dangkal.
Tidak ada yang menggabungkan daftar yang bisa dicari, pratinjau sebelum setiap perubahan, dan catatan tentang apa yang berubah dari waktu ke waktu - dan catatan itulah alasan mempertahankan alat ini di sebuah mesin setelah sore pertama.
Perbandingan lengkapSebuah jendela dan sebuah baris perintah di atas satu mesin yang sama
Bertanya, bukan menggulir
start:auto !status:running berarti apa yang seharusnya hidup dan tidak hidup. Satu bahasa, di kotak pencarian dan di bws list --query, dengan bidang yang ditawarkan saat Anda mengetik.
Tampilkan rencana sebelum apa pun terjadi
Setiap penghentian, permulaan, restart, dan perubahan tipe startup dipratinjau bersama layanan yang ikut jatuh, dan pratinjau itulah yang dijalankan.
Katakan apa yang menyimpang, dan siapa yang mengubahnya
bws snapshot create membekukan mesin ke dalam berkas, dan bws snapshot diff menyebutkan apa yang berubah sejak itu, konfigurasi terpisah dari apa yang sekadar mulai atau berhenti. bws history menyebutkan, dari log System, siapa yang mengubah tipe startup dan siapa yang memasang layanan. Jendela melakukan ketiganya di bawah Audit....
Perbaiki masalah umum dengan sekali tekan
Tab Tools dan bws tool fix me-restart layanan di balik printer yang tidak mencetak, suara yang hilang, atau pencarian yang macet, bersama apa yang bergantung padanya, melalui rencana yang sama dengan yang lain.
Hentikan layanan yang tidak mau berhenti
Ia meminta dengan sopan terlebih dahulu dan mengakhiri proses hanya jika itu gagal, sambil menyebut setiap layanan lain yang hidup di dalamnya.
Tampilkan apa yang disembunyikan services.msc
Siapa yang menandatangani berkas eksekusi dan apakah Windows memercayainya, pemicu, hak istimewa, deskriptor keamanan, proses dan memorinya. Sebagai kolom, dan sebagai hal yang bisa dicari.
Katakan saat sesuatu tidak bisa dibaca
Bidang yang tidak bisa dibacanya dilaporkan sebagai tidak terbaca, tidak pernah ditampilkan kosong. Snapshot yang diambil tanpa hak administrator menyatakannya di dalam berkas itu sendiri.
Cocok dengan skrip
--json di setiap perintah, kode keluar untuk setiap akhiran, dan 5 ketika sebuah perbandingan menemukan penyimpangan.
Berjalan dari satu berkas, offline
Ekstrak dan jalankan, atau pasang untuk seluruh mesin. Tidak ada .NET yang perlu dipasang, dan tidak pernah terhubung ke internet. Membaca tidak membutuhkan hak administrator. GPL-3.0.
Apa yang berubah sejak kemarin
Snapshot adalah seluruh mesin pada satu saat - setiap layanan dan driver, dengan tipe startup, akun, jalur peluncuran, hash dan penandatangan berkasnya, dependensi, pemicu, hak istimewa, dan deskriptor keamanan. Berupa JSON dengan satu bidang per baris, sehingga bisa masuk ke repositori dan git diff membacanya.
$ bws snapshot diff before.json --live --exit-code
Changed (2):
Spooler Print Spooler
startType: Manual -> Automatic
status: Stopped -> Running (running state, not configuration)
wlidsvc Microsoft Account Sign-in Assistant
status: Stopped -> Running (running state, not configuration)
Added 0, removed 0, changed 2. Fields differing: 1 in configuration, 2 in running state.
- Konfigurasi dan status berjalan dilaporkan terpisah. Dua snapshot yang diambil berselang sehari berbeda pada apa yang kebetulan berjalan, dan hampir tidak ada yang merupakan penyimpangan - tipe startup yang berubah adalah baris yang perlu dibaca.
- Apa yang tidak bisa dibandingkan dicantumkan, tidak disembunyikan. Bidang yang tidak pernah dibaca oleh sebuah snapshot muncul sebagai not compared, sehingga perbandingan yang berbunyi tidak ada yang berubah berarti tidak ada yang berubah pada apa yang bisa dilihat kedua sisi.
--exit-codeberakhir dengan5ketika konfigurasi berbeda, sehingga tugas terjadwal dapat mengambil snapshot saat penerapan dan memanggil seseorang pada malam pertama mesin menyimpang.- Dua mesin, dua berkas. Ambil satu snapshot di staging dan satu di produksi, lalu bandingkan di mana saja.
Pratinjau adalah eksekusinya
Setiap operasi yang menulis membangun rencana terlebih dahulu, dan rencana yang sama itu adalah pratinjau, kaskade layanan dependen, penolakan sebelum Anda menekan apa pun, baris perintah yang meminta hal yang sama, dan jalan kembali sesudahnya.
$ bws stop Winmgmt --dry-run --dependents
Plan: stop Winmgmt (2 steps)
1. stop vmms (would break otherwise)
2. stop Winmgmt (asked for)
Warnings:
- Stopping Winmgmt also stops one other entry: vmms
- Winmgmt starts automatically, so it will be back after the next restart.
- Jalankan tanpa
--dry-rundan inilah langkah-langkahnya, dalam urutan itu, dengan alasan yang sama di sampingnya. Tidak ada jalur kode kedua untuk eksekusi yang sebenarnya. - Apa yang ikut jatuh ada di dalam rencana. Layanan yang akan rusak adalah langkah tersendiri, dan rencana yang akan menjatuhkan sesuatu yang dibutuhkan mesin menyebutkannya dalam peringatan.
- Penolakan datang sebelum tombol. Sebuah driver, layanan yang penghentiannya tidak diterima manajer, proses yang dilindungi sistem - ditolak saat rencana dibangun, beserta alasannya. Jendela mengabu-abukan tombol dan menjelaskan alasannya di sampingnya.
- Penghentian paksa adalah dua langkah, dan yang kedua bersyarat.
bws killmeminta layanan berhenti dan mengakhiri prosesnya hanya jika itu tidak berhasil, sambil menyebut setiap layanan lain yang hidup di dalamnya.
Dari baris perintah
Mesin yang sama dengan jendela, untuk skrip, tugas terjadwal, dan CI. Data masuk ke keluaran standar dan yang lain ke galat standar, sehingga bws list --json | jq berfungsi dan peringatan tidak pernah mendarat di JSON Anda.
bws list --query "start:auto !status:running" apa yang seharusnya hidup dan tidak hidup
bws list --query "file:missing" layanan yang berkas eksekusinya hilang
bws list --query "signed:no peruser:no" tidak bertanda tangan, tanpa salinan per sesi
bws show Spooler semua yang diketahui tentang satu entri
bws stop Winmgmt --dry-run --dependents apa yang akan ikut jatuh bila dihentikan
bws kill Spooler --dry-run apa yang akan ikut terbawa bila prosesnya diakhiri
bws start-type Spooler manual --dry-run apa yang terjadi bila dikeluarkan dari otomatis
bws snapshot create before.json bekukan mesin sebelum perubahan
bws snapshot diff before.json --live --exit-code apa yang berubah sejak itu, 5 bila konfigurasinya berubah
bws history Spooler siapa yang mengubah tipe startup-nya, dan kapan
bws tool fix printer --dry-run apa yang akan dilakukan perbaikan cepat untuk printer yang macet
Setiap perintah, opsi, dan kode keluar
Ekstrak dan jalankan, atau pasang
Windows 10 1809 atau Windows Server 2019 dan yang lebih baru, 64-bit. Arsip tidak membutuhkan installer dan tidak menulis apa pun ke registri, dan melihat tidak membutuhkan hak administrator. Mengubah apa pun membutuhkan sesi dengan hak tinggi, dan kedua bagian menyatakannya alih-alih gagal diam-diam - jendela menawarkan Restart as admin.
| Berkas | Apa itu |
|---|---|
BetterWindowsServices-win-x64.zip | Jendela, satu berkas eksekusi mandiri - tidak ada .NET yang perlu dipasang |
bws-cli-win-x64.zip | Baris perintah, satu berkas eksekusi mandiri, untuk skrip dan CI |
BetterWindowsServices-win-x64.msi | Installer: kedua program untuk setiap akun di mesin, jendela di menu Start, dan bws di PATH |
Berkas eksekusi membawa tanda tangan Authenticode, sehingga Windows menyebut penerbitnya alih-alih memperingatkan tentang penerbit yang tidak dikenal.

