您可以将常规Windows用户配置为访问WMI信息,方法是使用lusrmgr.msc将常规用户帐户添加到“分布式COM用户”和“性能监视器用户”组,然后配置DCOM安全设置以允许这些组远程访问系统(使用dcomcnfg)。
注:需要在这些被监视的设备的客户端配置中执行这些配置文件。
在本地用户和组设置中配置分布式COM用户:
首先,我们在本地用户设置中添加DCOM用户组。
配置DCOM安全设置以允许组远程访问系统:
接下来,我们为用户组(分布式COM用户和性能监视器用户)提供基本的访问权限,以便能够远程控制设备。
正在设置要应用于所有命名空间的WMI控件安全设置:
最后,为两个用户组的所有名称空间下的所有类提供访问权限,以便使OpManager能够使用WMI获取这些数据。
从“适用于”下拉列表,选择“此命名空间和子命名空间”。
如果要监视Windows服务监视器是否处于打开/关闭状态,则需要向SCManager授予权限。对Windows服务的访问是由服务控制管理器的安全描述符控制的,默认情况下,服务控制管理器对强化操作系统是有限制的。下面提到的步骤将在用户级别授予对服务控制管理器的远程访问权限,以获取服务器上的服务列表。
检索用户帐户的用户SID
运行以下命令以检索用户SID。将UserName替换为用户帐户的用户名。
wmic useraccount where name="UserName" get name,sid
例:
wmic useraccount where name="administrator" get name,sid
检索SC管理器的当前SDDL
运行下面的命令,将SC管理器的当前SDDL保存到CurrentSDDL.txt。
sc sdshow scmanager > CurrentSDDL.txt
SDDL如下所示:
D:(A;;CC;;;AU)(A;;CCLCRPRC;;;IU)(A;;CCLCRPRC;;;SU)(A;;CCLCRPWPRC;;;SY)(A;;KA;;;BA)(A;;CC;;;AC)S:(AU;FA;KA;;;WD)(AU;OIIOFA;GA;;;WD)
更新SDDL:
为上述SID框架新的SDDL片段
(A;;CCLCRPWPRC;;;<SID of User>)
示例。
(A;;CCLCRPWPRC;;;S-1-0-10-200000-30000000000-4000000000-500)
更新的SDDL将如下所示:
D:(A;;CC;;;AU)(A;;CCLCRPRC;;;IU)(A;;CCLCRPRC;;;SU)(A;;CCLCRPWPRC;;;SY)(A;;KA;;;BA)(A;;CC;;;AC)(A;;CCLCRPWPRC;;;S-1-0-10-200000-30000000000-4000000000-500)S:(AU;FA;KA;;;WD)(AU;OIIOFA;GA;;;WD)
最后使用更新的SDDL执行以下命令:
sc sdset scmanager D:(A;;CC;;;AU)(A;;CCLCRPRC;;;IU)(A;;CCLCRPRC;;;SU)(A;;CCLCRPWPRC;;;SY)(A;;KA;;;BA)(A;;CC;;;AC)(A;;CCLCRPWPRC;;;S-1-0-10-200000-30000000000-4000000000-500)S:(AU;FA;KA;;;WD)(AU;OIIOFA;GA;;;WD)
这将向用户授予以下权限:
CC - 获取服务的当前配置
LC - 获取服务的当前状态
RP - 读取属性/启动服务
WP - 写入属性/停止服务
RC - 读安全描述符。
现在,您应该能够使用常规用户帐户而不是管理员帐户对此Windows主机执行WMI监视。