基于WMI的系统管理基础设施

WMI(Windows Management Instrumentation)提供了一个统一、一致、基于标准的、面向对象的接口,用于管理计算机系统。无论是本地计算机还是企业中的所有计算机,WMI都提供了一种标准化的方式来管理。简单来说,管理就是收集计算机系统中被管理对象的状态数据,并通过更改存储的数据来改变被管理对象的状态。被管理的对象可以是硬件实体,如内存阵列、端口或硬盘驱动器,也可以是软件实体,如服务、用户帐户或页面文件。

WMI可以管理计算机系统的许多组件。在管理硬盘时,可以使用WMI监控硬盘上剩余的可用空间。也可以使用WMI远程更改驱动器的状态,如删除文件、更改文件安全性或分区或格式化驱动器。

WMI不仅是一个强大的系统信息收集工具,而且非常容易使用。现有的脚本WMI接口使得系统管理员、网页设计师以及熟练的程序员都可以使用。

应用程序展示

本文介绍的应用程序在HTML页面上显示硬件信息,并使用VBScript作为后端编程语言。

首先,将计算机名称(strComputer)设置为".",即当前计算机,并编写函数GetWMIServices(),该函数将用于所有从WMI获取信息的过程,并且可以修改为从另一台计算机获取WMI服务。

然后,定义了一些格式化输出的函数,如WMIDateStringToDate()、DisplayOutputHeader()、DisplayOutput()、GetTableHeader()、GetTableFooter()、GetRow()。有了这些函数,将拥有标准化的输出。

以下是检索和显示处理器信息的代码示例:

<%@ Language = VBScript %> <% Option Explicit %> <% Function ShowProcessorInfo() On Error Resume Next DisplayOutputHeader("Processor - Win32_Processor") str = "" Set objWMIService = GetWMIServices() Set colItems = objWMIService.ExecQuery("Select * from Win32_Processor") For Each objItem in colItems str = str & GetTableHeader() str = str & GetRow("Address Width", objItem.AddressWidth) str = str & GetRow("Architecture", objItem.Architecture) ' ... 其他字段 ... str = str & GetTableFooter() Next DisplayOutput(str) End Function %>

HardwareInfo函数还检索有关基板、电池、BIOS、内存设置、即插即用设备、端口等的信息。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485