** 实现 Windows ** ** 管理的各种技术概述 **
让我们来先看看作为一个系统管理员经常要做的工作:
ü 监视应用程序的运行状况。
ü 检测瓶颈或故障。
ü 管理和配置应用程序。
ü 查询应用程序数据(使用对象关系的遍历和查询)。
ü 执行无缝的本地或远程管理操作。
上面任何一个任务的完成,都需要操作系统提供足够的有关管理对象的信息。对于一个磁盘来说,他应该知道磁盘空间的使用情况,磁盘的 I/O 操作等等;对于一个进程监视的管理员来说,他应该了解有关进程使用 CPU 和内存的情况等等。尤其是对那些管理诸如 Microsoft SQL Server2000 这样的系统来说,工作尤其复杂。面对如此至多的操作系统或者应用程序的管理对象,信息的收集、筛选、关联和存储成了关键。可能很多的系统管理员经常使用类似 windows 管理控制台来管理系统,收集系统各方面的信息,但是这些信息的收集乃至操作这些管理对象的背后是什么样的? windows 提供了什么样的编程接口来让程序员自己访问和操作这些管理对象?这对于编写系统程序的程序员来说是一个急迫想搞清楚的问题。因为您有可能想编写自己的管理控制台,来监视磁盘的使用情况,并在剩余空间不足的情况下发出警报;您也有可能在监视系统运行的进程和 CPU 的使用情况,在 CPU 资源不足的情况下某些非关键的任务而确保关键任务的稳定运行。
Microsoft 对于上述问题的解决提供了三种基础的结构方案,分别是 windows 管理规范 WMI (Windows Management Instrumentation), 活动目录服务接口 ADSI (Active Directory Services Interface) 和 Windows 脚本宿主 WSH (Windows Script Host) ,它们都提供了统一的编程接口,使得程序员可以非常方便的访问和操作诸如 Windows NT 4.0 , Windows 2000 和 Windows 2003 server 系列的企业级操作系统。
** Windows ** ** 脚本宿主 ** ** WSH ** ** : ** Windows 脚本宿主 (WSH) 是用于 Win32 平台的与语言无关的脚本环境。利用 WSH , Microsoft 提供 VBScript 、 Jscript 和 JScript .NET 脚本引擎。他提供了简单 , 强大而灵活的脚本编写使得您可以在命令提示行和 windows 桌面环境下运行 . 这些脚本语言可用于: Web 服务器的 ASP 页、运行于 Internet Explorer 中的 HTML 页、 Windows 98 和 Windows 2000 上 Windows 脚本宿主的脚本引擎中。
WSH 可使用任何脚本语言使服务器上的管理任务自动化。例如,管理员可以编写 VBScript 以创建一个新的虚拟目录,然后,利用在后台工作的 WSH ,从命令行运行脚本文件,以在 Web 站点上创建新的虚拟目录。此外,管理员可编写单个脚本来面向多个 Web 站点或多个物理服务器。
当然在我们这章要讲述的使用编程语言的不是 WSH ,而是 .NET 平台上的 C#.
** Active Directory ** ** 服务接口 ** ** (ADSI) ** ** : ** Microsoft Windows Active Directory 的编程接口。它允许应用程序使用单个接口与网络上的不同目录进行交互。 ADSI 是一系列的 COM 编程接口 , 就如 ODBC 一样 ,ADSI 通过对每个目录协议增加提供者提供通用的目录访问 .
使用 ADSI ,可以创建执行常见管理任务的应用程序,这些任务包括备份数据库、访问打印机和管理用户帐户等。
使用 ADSI 的优点为:
开放式的架构 : 使得任何目录提供者都在一个 ADSI 接口上执行 ;
目录服务的独立性 : 由于使用 API 使得应用程序不需要绑定到特定的提供者目录服务上 ;
安全 :ADSI 支持认证 .
** Windows ** ** 管理规范 ** ** WMI: ** WMI 作为 Windows 2000 操作系统的一部分提供了可伸缩的 , 可扩展的管理架构 , 提供了一个统一的、基于标准的、可扩展的面向对象编程接口 . 关于 WMI 更为详细的信息 , 我们将在接下来的内容中详细讲述 .
由于 WMI 更多的优点以及与 .NET 平台的结合 , 这一章的 windows 系统的管理将采用 WMI 在 .NET 中的命名空间的实现的编程接口 system.management 来编写程序 .
在本章内容的开始,我将向您讲述有关 Microsoft® Windows® Management Instrumentation (WMI) 即 windows 管理规范的基本知识和架构以及 .NET 提供的 windows 管理规范的接口实现,正是通过使用这些 .NET framework 中的 system.management 命名空间提供的类,程序员可以定制自己的管理控制台;接下来的内容将用 5 个示例来剖析各种各样的 windows 管理工作以及一个简单的自己应用程序的管理实现。
本章的内容安排如下:
第一节 windows 管理规范 WMI 概述
第二节 .NET 框架中的 WMI 命名空间 System.Management
第三节 操作系统类及其管理对象
第四节 管理信息查询和检索
第五节 事件预订和处理
第六节 远程管理的实现
第七节 管理自己的应用程序