Windows自动化管理的实现(4)
作者 佚名技术
来源 服务器技术
浏览
发布时间 2012-07-06
|
四、脚本编程初步
前面我们通过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查询信息,如何通过脚本访问对象的属性和方法。继续努力吧!
关键词: |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn
为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
|