使用WMI和性能计数器监控远程服务器权限设置
- 时间:2015年04月02日 15:15:14 来源:魔法猪系统重装大师官网 人气:15539
应用场景:在web服务器中,通过.NET编码使用WMI查询远程服务器的一些硬件配置信息,使用性能计数器查询远程机器的运行时资源使用情况。在网上没有找到相关的东西,特记录与大家共享。
将web服务器和所有的远程服务器添加的同一个域中,并创建一个域账户。
WMI是英文Windows Management Instrumentation的简写,通过使用WMI,我们可以获取本地或远程服务器的性能参数和进程运行情况,以及大部分硬件信息,但前提是运行的用户要有足够的权限,如administrator组用户等。这也是做负载均衡所需要且比较方便快捷的途径。
使用时首先添加System.Management.dll,然后引用
using System.Management;
在web站点的web.config中添加如下配置
将域账户添加到Performance Monitor Users,使域账户具有远程访问性能计数器的权限。
2. 打开WMI权限设置 安全 标签
3. 选中CIMV2,添加 域账户 ,并选中 启用账户、远程启用、读取 权限项,这样域账户就可以远程访问WMI了。
WMI 入门
如果您阅读有关脚本的书籍和文章,几乎都会提到 WMI。不过,在实际使用 WMI 时,如果忘记其内部构造方式,则会感到非常迷茫,而且 WMI 的构造方式对于它在 Windows PowerShell 中的工作方式极其重要。
WMI 主要是一个组织类的系统,表示 Windows® 操作系统和其他基于 Windows 的硬件和软件产品的管理信息。类实际上就是对一些给定软件或硬件组件进程的属性和功能的抽象描述。例如,逻辑磁盘类可能描述具有一个序列号、一个固定的存储容量、一定的可用容量等内容的设备。同时,描述 Windows 服务的类可能指定该服务有一个名称、可以启动和停止,以及指定其当前状态等。
在 WMI 中,类表示 WMI 可以管理的所有内容。如果 WMI 没有可用于某些内容的类,则它无法管理该组件。Microsoft 在 msdn2.microsoft.com/aa394554.aspx 中记录了核心 Windows WMI 类;其他产品(如 Internet 信息服务、sql server™)分别记录了它们的 WMI 类。
由于存在特别多的类,因此 WMI 将它们组织到命名空间层次结构中。例如,包含核心Windows OS 类的命名空间称为 root/cimv2,而 Microsoft IIS 6.0 将其类存储在 root/MicrosoftIISv2中。方便的是,root/cimv2 命名空间是 WMI 的默认命名空间(由 Windows PowerShell 共享的设置),这使得它可以更容易地与这些核心类一起使用。
“实例”是一种实际存在的类。例如,如果您的计算机有两个逻辑磁盘,则会有Win32_LogicalDisk 类的两个实例。如果在您的计算机上运行 50 个服务,在 WMI 上将会看到Win32_Service 类的 50 个实例。使用 WMI 实际上就是请求 WMI 为您提供一个或多个实例,然后,要么检查这些实例的属性以发现您需要的管理信息,要么执行这些实例的方法来进行管理更改(例如启动或停止服务)。
WMI 使用客户端-服务器体系结构。Windows 2000 以后的每个 Windows 版本都内置了 WMI(后续版本扩展了可用类的数量),这意味着为您同时提供了 WMI 客户端和 WMI 服务器软件。在使用WMI 时,您实际上是向在您关注的计算机上运行的 WMI 服务发送请求。该 WMI 服务检索您指定的 WMI 实例,并将其返回给您以供使用。这就是 Windows PowerShell 的作用,它简化了请求实例、返回实例和使用实例的过程。