質問と、制限
何かを黙ってカバーしないツールは、できないことを伝えるツールより悪いものです。制限もこのページに載せていて、2 つに分けています。設計上あえて拒否していることと、Windows が行うことでこのツールがそのまま報告しているものです。
sc.exe、Get-Service、services.msc とどう違いますか。
sc query と Get-Service は、何が実行されているかを教えてくれます。services.msc は、それを 1 行ずつ変更できますが、質問することはできず、あとに記録も残りません。このツールは質問(start:auto !status:running)をし、行動の前にプランを見せ、1 週間後に差分を取れるスナップショットを保持します。サービスについて sc.exe と食い違う場合は、バグです。テストスイートの一部が両方を実行し、エントリごとに比較しています。詳しい比較はこちらです。
インターネットは必要ですか。
一切必要ありません。テレメトリ、更新チェック、クラッシュレポート、アカウント、何かのクライアントも、ありません。ネットワークに触れる可能性があるのは、--follow-network を指定したときだけです。その場合、他のマシンの共有上にある起動パスを調べたり、このマシンにまだない証明書を Windows に取得させたりすることがあります。既定ではオフで、ヘルプがその理由を説明しています。ウィンドウの GitHub ボタンと Donate ボタン、および Help メニューのページは、押したときにそれぞれ決まったアドレスを 1 つブラウザーに渡すだけで、接続するのはブラウザーです。
管理者権限は必要ですか。
見るだけなら不要です。変更するには必要です。権限がないと、マネージャーが表示するエントリは少なくなり、拒否されるものが増えます。どちらの側も、一覧がマシン全体であるかのように装わず、画面上部でそのことを伝えます。ウィンドウには Restart as admin があります。自分自身を昇格させることはありません。
無料ですか。仕事で使えますか。
どちらも「はい」です。GPL-3.0 で、条件はありません。取得したスナップショットは、あなたのファイルです。
サーバーを壊しませんか。
このツール自体が壊すことはありません。ご覧になったプランなしでは何も変更されず、ドライバーは拒否され、マシンに必要なものを停止してしまうプランはそう伝えます。防げないのは、読まなかったプランを実行してしまうことです。マシンに必要なサービスの一覧は 7 つの初期リストです。RPC の 2 つの半分と DCOM ランチャー、アカウント マネージャー、キー分離、セッション マネージャー、プラグ アンド プレイで、リモート デスクトップは含まれていません。そのため、リモートセッションではプランを読んでください。
Microsoft の製品ですか。
いいえ。Better Windows Services は独立したオープンソースプロジェクトで、Microsoft と提携しておらず、Microsoft の承認も後援も受けていません。Windows は Microsoft 企業グループの商標です。
プログラムはお使いの言語に対応していますか。
いいえ。プログラムは英語で表示されます。このサイトが翻訳されているのはそのためです。ウィンドウは、実行ファイルの隣に置かれた言語ファイル languages\gui.<code>.json を読み込み、Windows の言語で選択します。切り替えスイッチはありません。したがって翻訳は、プログラムを再ビルドせずに追加できる貢献です。一覧のサービス名は、お使いの Windows が付けている名前、つまり Windows が設定されている言語のものになります。
Windows がライトテーマなのに、ウィンドウが暗いのはなぜですか。
Windows の設定にかかわらず、ハイコントラストテーマも含めて、暗いままです。これは想定ではなく確認済みです。独自の色を保持して読みやすさを保ち、その設定には従いません。
設計上の制限
- ローカルマシンのみ。このバージョンにはリモート管理がありません。2 台のマシンを比較するには、それぞれでスナップショットを取り、2 つのファイルの差分を取ります。
- Windows のみ、64 ビットのみ。Windows 10 1809 または Windows Server 2019 以降です。
- ドライバーに対する操作は、試行されずに拒否されます。カーネルドライバーの停止は、再起動なしには元に戻せないことが多いためです。
- このツールは自分の特権を引き上げません。マネージャーが拒否した場合は、そう伝えて終了コード
3で終了します。ウィンドウは管理者として自分自身を再起動することを提案しますが、それ以外のことは何もしません。 - 証明書の失効は確認されません。確認にはネットワークへのアクセスが必要で、このツールはそれを行いません。そのため Trusted は、このマシンでチェーンが有効だったことを意味し、その後に誰も証明書を失効させていないことを意味しません。
- ウィンドウは、起動前に Windows のユーザーインターフェイスフレームワークの一部を展開します。1 つのファイルとして、Windows がディスクからしか読み込めないネイティブライブラリをいくつか含んでいるためです。管理者権限がない場合は、各バージョンの最初の起動時に、アカウントの一時フォルダー内の
.netフォルダーにそれらを書き込み、そこから読み込みます。管理者権限がある場合は、代わりに Windows ドライブのProgramData\BetterWindowsServicesを使います。これは管理者だけが変更できるように作成し、起動のたびに確認するフォルダーです。このフォルダーを作成できない場合、または他のユーザーが変更できる場合、ウィンドウは起動せず、どのフォルダーで何をすべきかを伝えます。そこへ移るということは、昇格したウィンドウが自分自身をもう一度起動するということで、これには 1 秒の何分の 1 かかかります。また、各バージョンは、誰かがフォルダーを削除するまで、そこにライブラリ(約 8 MB)を残します。コマンドラインにはそのようなライブラリはなく、何も展開しません。 - 昇格したセッションは、継承する .NET の設定を拒否せず、名前を挙げて示します。プロファイラー、トレースやダンプのスイッチ、環境で設定された診断ポートは、.NET プログラムの内側からは無効にできません。そのため、管理者権限があると、どちらの側も見つかったものを一覧にします。スタートアップフックは完全に無効化されます。
Windows が行うことで、このツールがそのまま報告するもの
svchostの中でホストされるサービスは、起動パスがホストの名前になっています。そのため、ファイルがあることと誰が署名したかは、独自のプロセスを持つサービスよりも情報が少なくなります。- ファイル自身の署名と Windows カタログのエントリの両方を持つファイルは、2 つの異なる署名者を示すことがあります。表示される発行元は、ファイルの中にあるものです。別のマシンで調べても変わらないもので、PowerShell の報告とは異なる場合があります。
- 管理者権限がないと、マネージャーが一覧するエントリは少なくなり、一覧したもののうち拒否されるものが増えます。どちらの側も画面上部でそのことを伝え、スナップショットはそれを記録します。昇格したスナップショットと権限なしで取ったスナップショットを比較すると、誰も削除していないエントリが削除されたと報告されてしまうためです。
問題を見つけた場合、またはこのツールが sc.exe と異なる報告をするサービスを見つけた場合は?課題トラッカーが開いています。2 つの差分を貼り付けていただくのが、最も役に立ちます。