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 优化完全手册
·Windows 2000终极优化
·轻松设置让Win2000达到最佳性能
·Windows 2000 优化完全手册
·windows 2000 STOP 0x000000D1故
·防止电脑死机的25个方法
·Win 2000/XP蓝屏解决实用技
·缓冲区溢出知识
·Win2000设置技巧
·优化Win 2000的NTFS系统
·Windows 2000操作系统二十
·Win 2000的五则超酷技巧
  相关文章
·Win 2000的五则超酷技巧
·用安全模板加强Windows的安全
·解析Win 2000中的EXE文件
·Win2000 SP4八大热点问题
·Win 2000检测系统安全清单
·Win 2000系统内存优化全攻
·Windows系统的十则高级应用技巧
·Windows 2000光盘探秘
·Windows 2000操作系统二十
·轻松设置让Win2000达到最佳性能
·电脑自动重启故障分析
·Windows服务调用机制
  主题推广
方舟网络 版权所有|关于本站|隐私保护|