确定 Windows 服务状态改变的原因

确定 Windows 服务状态改变的原因

如何确定启动或停止服务的进程/服务?

例如,我发现最近计算机浏览器、服务器和工作站服务(以及功能发现服务)一直在启动。我停止了它们,但几分钟后,它们又开始运行了。我已经尝试禁用网络共享、NetBIOS、家庭组以及我能想到的所有相关功能,但这种(新)行为令人沮丧,更令人沮丧的是,我不知道什么正在启动它们。如果我能弄清楚哪个进程/服务正在启动它们,那么我至少会知道在哪里查看。

不,Windows 事件日志没有帮助,因为它没有提到谁/什么启动了该服务;它提供的最多信息是来源该字段通常表示服务控制管理器,但是它并未说明要求 SC 启动/停止服务的内容。

有没有办法让服务控制器记录状态改变或者其他什么?

答案1

这些服务被加载到 svchost.exe 进程中,通常在 NETWORKSERVICE 帐户下运行。进程探索器,将鼠标悬停在 svchosts 进程上以查看其下正在运行的服务。 如果它包含某个不良服务,请双击该进程,然后在属性窗口中转到“图像”选项卡。 “自动启动位置”框应指示启动方法。 在我的情况下,包含工作站服务的 svchost 进程从 HKLM\System\CurrentControlSet\Services\nsi 启动。

另外,在 Windows 服务 MMC(services.msc)中,您可以看到服务之间的依赖关系。检查以确保您的任何服务都不依赖于您正在关闭的服务。

另外,考虑禁用 services.msc 中的服务。如果所需服务被禁用,则依赖服务应该记录启动失败,因为依赖服务未启动。

相关内容