进行扩展,加入Windows2000基本结构的核心元素,比如IntelliMirror(智能镜像)、Active Directory(活动目录)和基于Web的企业管理组(WBEM)。
目前有明显的趋势可以证明,在下一个版本的Windows中,必然会提供对这个策略的支持。Windows管理设备必然成为.NET方案的管理基础。另外,微软也允许第三方软件开发商支持该结构产品。
此外,微软还成立了Microsoft Management Alliance(微软管理联盟),目的是帮助其他厂商构建相应的产品来支持新结构。
业内其他竞争者也没有放慢自己的脚步。Unicenter(来自CA国际公司)和Enterprise(来自Tivoli Systems 公司)均为十分成熟的产品,支持多平台上的管理功能。NetIQ 的Operations Manageer(已获微软授权)能在Windows系统上提供实时的性能管理与监视。
对那些预算吃紧的小公司来说,即便在这些"精简"方案面前,他们的费用也通常超出了能够接受的限度。即使在较大的公司里,对管理控制台的访问都是由一个中心的IT小组小心的看管着,极少被纳入日常的管理任务中。
幸运的是,我们还有一个备用方案可供使用。"专业"管理工具提供的大多数特性其实都可通过一系列相对简单的脚本来实现。其中要用到的核心组件(它提供了所需的功能)便是WMI。WMI是Windows 2000 以及Windows.NET的一种内建服务,这证明了微软试图将WMI作为自己管理策略的一个密不可分的部分提供给用户。WMI也可在其他Win32平台上使用,同时可作为加载项或免费工具下载[2]。
WMI(Windows Management Instrumentation,Windows 管理规范)是一项核心的 Windows 管理技术;用户可以使用 WMI 管理本地和远程计算机。
1.2 WMI管理计算机的优点
通常,WMI可提供三种类型的管理功能:
数据收集--访问来自不同来源(操作系统、性能计数器、事件日志、注册表、硬件、驱动程序和目录服务)的系统信息。这些信息可针对资源管理进行分析与总结,以便创建性能能基准,进行可用性分析(为实现所需
的服务级别)或进行安全方面的跟踪。
系统配置--通过一种集中化的方式来修改系统信息,其中包括操作进程、服务和软件组件,进行系统维护或升级,以及执行作业,等等。
事件管理--被检视系统组件的属性一旦发生改变,可以及时知道。这种侦测既可以通知作为基础(发生时再通知),也可以时间间隔作为基础(定时通知)。在主动和被动解决问题。错误隔离。控制系统可用性和系统
健康监视过程中,这一功能是十分有用的。
WMI可以实现的功能:
收集Windows性能监视器数据(比如剩余磁盘空间的百分比,处理器利用率),对其进行总结或自动采集相应的行动(比如清除临时文件夹、Internet Explorer缓存以及终止无用进程等等)。
收集Windows 事件日志条目,并定义特定的行动,针对特定事件做出响应。数据也可以进行总结,而事件日志可进行清空备份处理。
查询被管理系统的不同特征,比如操作系统版本、NetBIOS名称、与成员、物理和逻辑盘、交换文件信息、日期和时间设置等等。
启动,暂停、停止、恢复和删除服务。
启动、终止和查询进程。
关机或重启系统。
注销用户。
收集与打印机和打印队列有关的信息。
获取和编辑Windows注册表信息。
获取和编辑目录服务信息(包括活动目录)。
控制网络配置(显示和修改路由表、网卡协议设置的内容)。
访问WDM设置驱动程序信息。
相同的脚本可同时应用在本地和远程系统中(要提供足够的许可权限)。
本论文主要展示几种不同的方法来访问WMI,如VBScript脚本,VC++和其他Windows组件对象模型提供的功能上面。
1.3 脚本方法理论
Visual Basic脚本版(VBScript)是本次毕设学习阶段采用的脚本语言。和Windows管理员为自动化任务而使用的WindowsNT命令相比它的功能较强,足够达到我们的目的。
Windows Script Host(WSH)将用于提供脚本编制环境。利用WSH,能访问Windows COM对象。
WMI用于提供对管理数据的访问。
在Windows Script Host 2.0 中引入的可扩展标记语言(XML)特性,用于提供辅助脚本格式。XML和WSH 2.0 的联合使用并不一定是必需的。但是遵守XML规范任然是有好处的[3]。
从概念上说,大多数脚本中沿用的基本思想都是相当简单的。需要的数据有WMI提供,不必过分操心这些数据时如何生成的,它的生成流程会进一步解释,将利用由Windows Script Host和WMI对象模型提供的技术来访问它。有了一定程度的熟悉后,将利用VBScript中的一系列命令来处理它,并生成自己需要的结果。
脚本连接WMI,获取WMI管理资源,然后返回资源属性。唯一改变的是类名(即,Win32_LogicalMemoryConfiguration, Win32_Service和 Win32_NTLogEvent)和资源的相应属性。
三步骤对WMI脚本是通用的。下面仔细考察每一个步骤。
Step 1: 连接WMI Service
任何脚本的第一个步骤就是与目标电脑上的Windows管理服务建立连接。连接本地或远程电脑的WMI很简单,调用VBScript的Getobject函数,其参数为WMI脚本库的标记名(即"winmgmts:")和目标电脑名
用这种方式连接WMI,会返回对SWbemServices对象的引用,在Listings 1, 2和3中用变量名wbemServices引用。SWbemServices是在WMI脚本库中定义的。WMI脚本库提供通用功能对象集,脚本使用他们来访问WMI infrastructure。一旦引用了SWbemServices 对象,就可以调用SWbemServices提供的任何方法。InstancesOf就是这样一种方法
Step 2: 获取WMI管理资源
不可否认,第二步绝大程度上取决于要执行的任务。在获取有关WMI管理资源的信息时,第二步很简单,调用SWbemServices对象的InstancesOf方法。如同名字暗示的那样,InstancesOf 返回所有的由资源类名标识的管理资源。InstancesOf按SWbemObjectSet集合的方式返回请求的资源。再Listing 1,2和3中,使用变量名wbemObjectSet来引用。SWbemObjectSet是WMI脚本库定义的另外一个脚本对象
Step 3: 显示WMI管理资源的属性
最后一步是列举SWbemObjectSet 集合的内容。SWbemObjectSet 内的每一项是一个 SWbemObject (WMI脚本库的对象),他表示请求资源的单个实例。可以使用SWbemObject 来访问管理资源类定义中定义的方法和属性。
1.4 本课题的主要内容
本文共分为3章,课题的结构安排如下:
第1章中结合课题背景与国内外WMI Windows管理研究现状分析课题的选题依据,以研究意义等,同时对WMI技术做简单的介绍。
第2章从VBScript脚本理论方面叙述WMI管理Windows计算机的原理,同时根据原理,介绍课题基于WMI的Windows计算机远程监控整体思路与远程监控设计。
第3章首先简单介绍VC++编程,以及课题所涉及的计算机管理等内容,然后按课题进展,模块化设计思想,介绍mfc界面实现远程监控与程序编写。
最后用VC++实现远程监。
第2章 使用脚本语言实现基于WMI的Windows监控
2.1 通过VBScript实现
2.1.1 VBScript简介
VB的中心思想就是要便于程序员使用,无论是新手或者专家。VB使用了可以简单建立应用程序的GUI系统,但是又可以开发相当复杂的程序。VB的程序是一种基于窗体的可视化组件安排的联合,并且增加代码来指定组件的属性和方法。因为默认的属性和方法已经有一部分定义在了组件内,所以程序员不用写多少代码就可以完成一个简单的程序。过去的版本里面VB程序的性能问题一直被放在了桌面上,但是随着计算机速度的飞速增加,关于性能的争
上一篇:
毕业设计(论文)考核表(基于VC++的虚拟仪器控件的设计)(2003doc)
下一篇:
超市进销存管理系统的开发