2010-02-18 75 views
1

某些服务无法通过服务管理控制台启动或停止。 ex)DcomLaunch,SamSs如何拒绝访问服务?

这些服务的停止按钮在服务管理 控制台上被禁用。 因此,我们不能停止服务(即使我们有一个管理员 帐户)

这可能吗? 我该怎么做?

在此先感谢。

回答

2

您的服务最终会呼叫SetServiceStatus来指定其状态。这部分是它接受的控制。如果您不指定SERVICE_ACCEPT_STOP,则服务不能关闭。对于托管代码,您可以在ServiceBase上设置CanStop属性。

允许更精细控制的另一种可能性是更改服务上的ACL。 MSDN有一个示例文章here。如果您希望允许非管理员用户能够控制您的服务何时运行,通常会使用此功能。

请仔细考虑一下,如果您的服务不应该停止 - 用户应该控制他们的机器并允许他们随意停止服务。

+0

非常感谢! – Benjamin 2010-02-18 04:29:14