dedecms织梦内容管理系统  
 
首页 | 方舟产品 | 系统优化 | 硬件系统 | 软件系统 | 网络系统 | 无盘网络 | 软件下载 | 杀毒防黑 | 专题 | 会员中心 | 方舟论坛
  当前位置:方舟系统站>系统优化>win 2k优化>文章内容
Win2000自动化管理的实现
来源: 作者: 发布时间:2007-04-04  


   

图二

     

  图二显示了搜索关键词logical得到的结果。选择Win32_LogicalDisk并点击OK,图三的窗口出现(为什么不选择CIM_LogicalDisk?前面已经提到,WMI管理的所有对象都带有Win32前缀。如果选择CIM_LogicalDisk然后要求显示出它的实例,不可能看到可用逻辑驱动器的任何具体信息,只能看到对应每一个可用逻辑驱动器的Win32_LogicalDisk条目)。现在,窗口的右边显示出Win32_logicalDisk类的属性。可以看到,属性的值都为空,这是因为我们正在查看的是一个类,而不是类的具体实例。要显示出Win32_LogicalDisk类的实例,点击右边上面的Instances按钮(右数第四)。

   

图三

  点击Instances按钮之后,窗口显示出当前机器上所有逻辑驱动器的实例,包括网络逻辑驱动器。点击设备ID为“C:”的实例,显示出图四的结果。右边窗格包含了当前实例的属性和方法,当前逻辑驱动器的名称显示在右边窗格的上方。

 

图四

  利用脚本可以修改这些属性或调用这些方法。如果对某个属性的含义不太清楚,只需选择Win32_LogialDisk类或Win32_LogicalDisk.DeviceID="C:"实例,再点击Help按钮。大多数对象的属性和方法都有详细的说明。

  CIM分三层。第一层是核心模型(Core Model),这一层包含的类定义对于所有管理领域来说都是共同的。第二层是公共模型(Common Model),这一层包含的类定义对于特定的管理领域来说是公共的,但与具体的操作系统和系统设计无关。第三层是扩展模型(Extension model),这一层包含的类定义与特定的操作系统或技术有关。

  WMI是Microsoft扩展CIM 2.0得到的面向Win32系统的扩展模型。引用WMI类和属性的形式是“扩展前缀_类名称.属性名称”,例如Win32_ComputerSystem.Name,其中Win32是CIM模式cimv2名称空间内WMI扩展类的前缀,ComputerSystem是类,Name是属性。

  编写WMI脚本的很大一部分工作涉及到读取和设置属性值。当前,WMI提供的方法还很有限,但随着时间的推移,相信WMI和CIM提供的方法都会越来越丰富。

       

    四、脚本编程初步

  前面我们通过SDK查看了Win32_LogicalDisk类和它的属性,下面来看看如何在脚本中访问这些信息。如果你的系统上安装了Microsoft Windows 2000 Resource Kit,\program files\resource kit文件夹下默认会有一个listfreespace.vbs脚本。这个脚本查询Win32_LogicalDisk类的各个对象,分别提取一组属性值:DeviceID,即驱动器标识符;FreeSpace,驱动器空闲空间的字节数。假设一台机器的A:是软盘驱动器,D:是CD-ROM驱动器,listfreespace.vbs的输出类如:

A: not available C: 8,243,381,248 bytes D: not available

  下面显示了getfree.vbs脚本程序的代码,它用更少的代码获取类似的信息。启动getfree.vbs时要指定驱动器标识符,getfree.vbs将显示出驱动器空闲空间和文件系统类型。

' 变量声明 Dim driveArg, dObject, driveName ' 创建文件系统对象,并将该对象赋值 ' 给dObject变量(drive object的缩写) Set dObject = CreateObject("Scripting.FileSystemObject") ' 如果用户没有在命令行指定待查询的驱动器标识符, ' 则显示错误信息并停止运行脚本 If Wscript.Arguments.Count < 1 Then _ Wscript.Echo "请在命令行参数中指定要查询的驱动器,例如C:",_ Wscript.Quit(1) ' 把用户指定的驱动器标识符提供给文件系统对象, ' 在driveArg中保存对应的绝对路径名 driveArg = dObject.GetAbsolutePathName(Wscript.Arguments(0)) ' 获取用户指定的驱动器的名字 driveName = dObject.GetDriveName(driveArg) ' 提取指定驱动器的属性信息 ' 在对话框中显示这些信息 With dObject.GetDrive(driveName) Wscript.Echo "驱动器", .DriveLetter,":空闲空间是",.Freespace / 1024,_ "KB,文件系统是", .FileSystem End With ' 结束... Set dObject = Nothing

  在Windows命令行窗口中,执行“Wscript getfree.vbs c:”将显示出类如图五的结果。如果执行“Cscript getfree.vbs c:”,则提示信息以字符方式显示。

 

图五

  又如,下面的VBScript脚本提示输入远程机器的名字,然后关闭指定的远程机器:

MachineName = InputBox("输入要关闭的远程机器名字") Set OSSet = GetObject("winmgmts:{(Debug,RemoteShutdown)}//"& MachineName &"/root/cimv2")
.ExecQuery("select * from Win32_OperatingSystem where Primary=true") for each OpSys in OSSet OpSys.Shutdown() next

  当然,如果只有本文的知识,你还不能算是一个WMI脚本编程的高手。但现在你已经了解了如何用SDK查询信息,如何通过脚本访问对象的属性和方法。继续努力吧!

     



共2页: 上一页 [1] 2 下一页
 
[收藏] [推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论:
  热点文章
·Windows 2000终极优化
·让win2k自动关机的实现方法
·轻松设置让Win2000达到最佳性能
·Windows 2000 server需禁用
·缓冲区溢出知识
·Windows注册表应用的30个实例
·windows 2000 STOP 0x000000D1故
·Windows 2000 优化完全手册
·如何让Win2000系统达到最佳性能
·Windows 2000进程分析
·Win 2000/XP蓝屏解决实用技
·Windows 2000 优化完全手册
  相关文章
·Win 2000的五则超酷技巧
·解析Win 2000中的EXE文件
·Win 2000检测系统安全清单
·Windows 2000光盘探秘
·Windows 2000操作系统二十
·轻松设置让Win2000达到最佳性能
·电脑自动重启故障分析
·Windows服务调用机制
·Windows2000磁盘扫描功能
·Win 2000日志及其删除方法
·Win 2000远程控制的3种安全
·构建Windows 2000服务器的
  主题推广
方舟网络 版权所有|关于本站|隐私保护|