我正在使用VB6并使用ADSI查询Windows服务的状态(正在运行或未运行)。看到这篇MS文章:http://msdn.microsoft.com/en-us/library/aa746322(v=vs.85).aspx。使用ADSI查询服务状态 - 需要哪些权限?
对于USERS组成员的用户,我收到了抛出的异常。我相信这是对GetObject方法:
Set comp = GetObject("WinNT://.,Computer")
唯一的例外是:80070005“常规访问被拒绝错误”
运行相同的代码为电力用户的成员,然而,工作得很好。
将所有用户提升为超级用户不是一种选择。为了使此功能成功运行,我需要授予哪些确切的权限?
我试着运行procmon.exe,并且无法从输出中确定发生了什么或发生了否定。
谢谢!
编辑:这是在XP SP2上运行。
我的歉意,我应该包括,这是在XP(编辑包括这个小窍门)。感谢您的链接,我会检查该界面(不知道为什么它没有出现在我以前的搜索)。 – MarkL 2011-03-23 13:23:14
好的,只是在XP上测试过的服务。有限的用户帐户是Users组的成员,并且可以从正在运行的服务查询信息,因此ADSI可能会在幕后请求太多信息。仅供参考,但内置的Guest帐户无法查询服务信息,您可以在此处执行的最佳操作是获取正在运行的进程名称的列表。我建议使用API调用,以便更好地控制过程。 – 2011-03-23 22:46:41
是的,也适合我。而且我还注意到了访客/用户帐户的差异。 谢谢! – MarkL 2011-03-24 15:18:14