Windows开启WMI时一些总结

  通过远程的方式连接WMI获取计算机信息时,可能会出现远程主机拒绝访问,这时就要通过下面的方式来开启当前计算机的WMI服务,下面以Win7和Win10为例来进行相关的说明,通过一步步排查去连接远程服务。

一 在本机测试是否可以连接远程主机WMI服务

  1 按下Windows+R组合键,调用系统运行窗口。

  2 输入wbemtest命令。

 

图1 调用WMI测试器

  3 打开WMI测试器。

 

图2 打开WMI测试器

    4 连接远程WMI服务

      连接WMI服务时需要进行下面的步骤。

      4.1 首先输入命名空间。

      4.2 输入用户名和密码。

         4.3 点击“连接”

         4.4 查看连接状况 

 

图3 连接远程WMI服务

 

图4 连接成功标志

  如果连接不成功,可能出现下面的对话框,请按照下面的提示来进行一步步排查。

 

图5 访问失败

  二 开启远程计算机WMI服务(下面的说明以Windows10为例)

       1 查看计算机是否开启WMI服务

 

图5 查看WMI服务是否开启

    2 查看是否启动远程服务。

        依次打开计算机管理=》WMI控件=》更多操作=》属性

 

图6  设置远程主机的WMI属性

      登录之后,设置WMI控件的属性,进入安全选项卡,然后设置RootCIMV2安全设置,然后查看当前的组是否设置远程启用的权限,特别是查看Authenticated Users是否启用远程,如果没有启用,则勾选“远程启用”,另外就是看Administrators这个组是否也启用了远程,这些都是非常重要的。  

    这里为什么要设置Authenticated Users这个组的远程启用?这个组的作用是什么?

    通过查阅相关文档:Authenticated Users:Windows系统中所有使用用户名、密码登录并通过身份验证的账户,并且拒绝Authenticated Users组造成Administrator无法访问AD对象,并且因为Administrator属于Authenticated Users组,而我们登录的用户Administrator要启用远程,所以这个组也要启用远程。另外LOCAL SERVICE,NETWORK SERVICE是由操作系统创建的、一类较为特别的内置帐户或组,主要是为了安全性。NETWORK SERVICE主要针对网络,而LOCAL SERVICE主要针对本地应用程序,对于这些组也只能查到这些消息了,希望能对此有一些大致的了解。

 

图7  WMI控件安全设置

 

图8  开启“远程启用”

  三 注意事项

     1 注意以上的示例都是使用Administrator账户登录的,当然也可以使用其他的账户去登录,但是在使用其他账户时需要注意将当前的账户添加到Administrators组中间去,另外还需要注意的是仅仅添加到Administrators组中权限还是不够的,在实际的机器中测             试时发现还必须添加到“Distributed COM Users”账户中,只有添加到这个组中才具有使用此计算机上的分布式COM对象的功能!

         2 当前计算机需要启用分布式的COM对象,只有这样才能够使用远程的WMI服务。这里写一下具体的查看方法。在计算机“运行”中输入“dcomcnfg”然后在:组件服务=》计算机=》我的电脑右键属性,在默认属性中查看是否勾选“在此计算机上启用分布式COM(E)”,具体操作参照下面的截图。

 

图9  组件服务

 

图10  启用COM服务

  这里也提供一个访问远程主机的DEMO,仅仅作为参考,请点击此处进行下载!

 

原文地址:https://www.cnblogs.com/seekdream/p/6382125.html