使非管理员用户可以查询和启动Windows服务

时间:2015-02-07 00:55:47

标签: c++ windows service

我有自己的自定义Windows服务,我希望管理员或非管理员的每个用户都应该能够启动/停止或查询状态及其启动类型。我正在使用ServiceManager在C ++中执行此操作,如果我在非管理员模式下运行,它在OpenService()上返回NULL。即使在非管理员模式下,我也希望处理服务。

我通过互联网进行了搜索,可能会让非管理员更改/启动或停止服务并不是一个好主意,但我需要这样做。我要么不想让服务的DACL变得复杂,因为除了Admin和Non管理员之外,一切都很完美。因此,我希望有一个更简单的解决方案,让OpenService返回Handle,尽管用户不是Admin。

这是我想要做的事情

schService = OpenService(schSCManager, MyServicename, SERVICE_QUERY_STATUS | SERVICE_START);

以上语句为非管理员返回NULL,我不想这样做。我可以根据我的要求获得其他任何访问模式吗?

谢谢,

0 个答案:

没有答案