0

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

有什么建议吗?

谢谢

4

1 回答 1

1

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

于 2010-07-09T12:51:42.677 回答