Windows服务中的ServiceController

时间:2010-07-09 11:50:32

标签: c# windows-services servicecontroller

我正在尝试使用ServiceController.GetServices()方法来获取所有服务的列表。在控制台应用程序中,它工作正常,但如果我在Windows服务中调用此方法,我会得到一个空列表。这似乎是一个身份验证问题,但我使用了所有帐户选项(本地系统,本地服务,网络服务,用户[本地管理员]),没有运气。

有什么建议吗?

由于

1 个答案:

答案 0 :(得分:1)

同意,这必须是用户帐户权限问题。枚举需要通过调用本机OpenSCManager()API函数来开始。这是一项非常特权的功能,SDK文档指出需要管理员访问权限。您必须配置该服务并为其提供管理员登录。听起来你已经尝试过了。担心UAC有点担心,然后在serverfault.com上提出更多相关问题,假定是安全专家的家。