Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security 使用ADSI查询服务状态-需要哪些权限?_Security_Vb6_Active Directory_Adsi - Fatal编程技术网

Security 使用ADSI查询服务状态-需要哪些权限?

Security 使用ADSI查询服务状态-需要哪些权限?,security,vb6,active-directory,adsi,Security,Vb6,Active Directory,Adsi,我正在使用VB6和ADSI查询Windows服务的状态(运行或不运行)。请参阅此MS文章: 对于作为用户组成员的用户,我收到一个抛出的异常。我相信是在GetObject方法上: Set comp = GetObject("WinNT://.,Computer") 例外情况是:80070005“一般访问被拒绝错误” 不过,运行与超级用户成员相同的代码,效果很好 将所有用户提升为超级用户不是一个选项。要使此功能成功运行,我需要授予哪些确切的权限 我已尝试运行procmon.exe,但无法从输出中确

我正在使用VB6和ADSI查询Windows服务的状态(运行或不运行)。请参阅此MS文章:

对于作为用户组成员的用户,我收到一个抛出的异常。我相信是在GetObject方法上:

Set comp = GetObject("WinNT://.,Computer")
例外情况是:80070005“一般访问被拒绝错误”

不过,运行与超级用户成员相同的代码,效果很好

将所有用户提升为超级用户不是一个选项。要使此功能成功运行,我需要授予哪些确切的权限

我已尝试运行procmon.exe,但无法从输出中确定拒绝发生的内容或位置

谢谢


编辑:这是在XP sp2上运行的。

听起来你好像遇到了UAC障碍。我不熟悉IADsService,但在确定Windows服务是否正在运行时几乎不需要它。您是否考虑过使用API函数来查询您的服务?尝试使用“服务查询”状态打开的服务。

不需要重量级管理服务或API调用。Shell自动化接口提供此功能已有一段时间了(Win2K或更高版本,Shell32.dll v.5.0或更高版本):


在没有提升的情况下对我来说效果很好。

很抱歉,我应该在XP中包含这一点(编辑以包含此小贴士)。谢谢你的链接,我会检查这个界面(不知道为什么我以前的搜索中没有出现)。好的,只是在XP上测试了服务。有限的用户帐户是用户组的成员,可以从正在运行的服务中查询信息,因此ADSI可能在幕后请求了太多的信息。仅供参考,内置的来宾帐户无法查询服务信息,您最好在那里获取正在运行的进程名称列表。我建议您使用API调用,这样您就可以更好地控制流程。是的,对我来说也适用。我还注意到了客户/用户帐户的差异。谢谢
With CreateObject("Shell.Application")
    MsgBox .IsServiceRunning("MSMQ")
End With