指南

services.msc 的替代方案

“服务”管理单元自 Windows 2000 以来几乎没有变化。对于屏幕上已经看到的某一个服务,它仍然是启动它最快的方式,而对于关于计算机的任何问题,它又是回答得最慢的方式。

是什么促使人们去寻找

  • 没有搜索。唯一的导航方式是输入一个字母,跳到以该字母开头的第一个显示名称。在有八百个条目的计算机上,这只是多了几步的滚动。
  • 没有筛选。无法询问哪些设为自动启动却没有运行,而这恰恰是能找出一台出了问题的计算机的那一个问题。
  • 一次只能处理一行。重启十二个服务,就是十二次右键单击和十二次等待。
  • “Stopping...”之后无路可走,只有任务管理器,以及猜测该结束哪个 svchost。
  • 没有历史记录。没人知道是谁、在何时把这个启动类型设成了 Disabled,也不知道上个月是不是就是这样。
  • 隐藏的数据。进程、触发器、所需特权、安全描述符、谁给可执行文件签了名:这些在管理单元中一样都没有,而在出问题时全都很重要。
  • 列无法更改。名称、描述、状态、启动类型、登录身份。这就是全部列表,而在真实的计算机上,其中没有一个能被有效地排序。

同样的任务,在两者中

你想要在 services.msc 中在这里
找出应该运行却没有运行的内容 按启动类型排序,滚动,读每一行 start:auto !status:running
了解停止会带走什么 在你按下 Stop 之后才列出依赖项的对话框 任何操作发生之前的计划,每个依赖项各为一个步骤,当其中之一是计算机所需要的时会给出警告
了解自上周以来发生了什么变化 没有 bws snapshot diff before.json --live
了解是谁更改了启动类型 没有 bws history Spooler,来自 System 日志
重启十二个服务 十二次右键单击 选中十二个,一份计划,一次运行,一份报告
查看是谁给服务的可执行文件签了名 不显示 既是一列,也是可以搜索的内容:signed:no
把其中任何一项写成脚本 无法使用脚本 bws,带 --json,并为每种结束方式提供退出代码

管理单元仍然做得更好的地方

有两点,而假装并非如此,正是这个项目不会做的那类声明。

  • 它已经在计算机上了。无需下载,无需通过软件策略审批。对于你只会碰一次的计算机,这就是全部理由。
  • 它可以编辑恢复操作、账户和启动路径。这个工具会显示账户和启动路径,但不会更改其中任何一个,而读取恢复操作只是为了在结束进程之前发出警告。创建、删除或重新指定服务,在这里同样没有。

它完全做不到的事,才是这个工具存在的原因:提出问题、先展示计划,并告诉你发生了哪些漂移。

这是什么

Better Windows Services 是免费开源的,采用 GPL-3.0,每一半各是一个文件,或为整台计算机提供一个安装程序,并且从不连接互联网。读取不需要管理员权限,更改需要,而且它会说明这一点,而不是悄悄失败。