呵呵,最新闲来无事开始进军WMI技术
开始我们的WMI技术的学习了,首先了解以下Windows DDE、OLE、COM、DCOM和COM+
windows组件对象模型(COM)是一种对象模型,它是windows脚本和程序设计的基础,它定义了一个环境,其中包括多个独立的软件对象。通过接口,任何脚本和程序都可以访问这些对象的属性和方法。每个COM组件安装的时候都会向注册表注册,通常包括了ProgID和CLSID两个键值在HKEY_CLASSES_ROOT中。
DDE说白了就是COM的雏形,define DDE 就是动态数据交换,然后我们DDE升级到了他的下一代OLE,同样OLE 就是对象链接和嵌入,不但允许把应用程序间进行通信,还可以把应用程序合并到一起。其中OLE有v1到v2的过度,了解就好。然后就说到了里程碑的DCOM来了,他的最大特点是允许进行网络进行访问对象了,等到win2000操作系统,就发展到了我们经常说的COM+了就是对COM的扩展,增加了分布式事务处理、扩展的安全模型、线程pool。
开始脚本编制的原理,针对COM我们必须要求有三点
1、一种脚本语言,2、一个脚本引擎,3、一个应用环境。
语言我们主要讨论下VBS,引擎我们说解释和执行脚本的东西,环境就是我们说的宿主程序,在windows中主要是cscript.exe和wscript.exe这两个前者用于命令行CLI后者用于图象界面SViewer,任何脚本都是使用这两个东西来启动,换句话说就是想让我们的饿脚本瘫痪,直接删除这两个程序就可以,呵呵,这样很BT呀。
然后就是系统包括的对象模型
1、windows sript host(WSH)处理图形接口部件,本地打印机、远程共享、注册表和系统环境变量
2、活动数据对象(ADO)提供了一种手段用于读取和修改关系型和面向对象的数据库
3、活动目录服务接口(ADSI)允许访问不同的目录服务
4、协作数据对象(CDO)处理消息和协作应用程序
5、FileSystemObject(FSO)一般用于处理物理文件系统
6、windows设备管理(WMI)主要处理系统管理信息和事件监控。
脚本编辑器,一般的文本编辑器都是可以的,例如windows notepad就很好,因为他是以ASCII码储存的,非ASCII码的编辑器最好不要用,会产生错误,比如office word不可以使用。
推荐PFExpress、EditPlus、UltraEdit32、WinEdit等
开始VBS
脚本构件单元
1、变量和数据类型
Optiom Explicit //强制数据,是一种编程的好习惯
Dim varname //变量命名
数据类型 整型、字符型、符点型、数组等
2、常量
Const varname = 'value' //常量的使用方法
3、数组
Option Explicit
Dim arr
arr = array(5,6,7)
4、语句
声明语句
赋值语句
条件语句
Option Explicit
Dim X
Dim Y
X = 65
Y = 45
If X > Y Then
msgbox X & "is bigger than " & Y
ElseIf X < Y Then
msgbox X & "is smaller than " & Y
Else
msgbox X & "is equal to " & Y
End If
5、运行符
算术—+-*/^等
比较—<>=等
逻辑—and or not xor等
连接—&等
6、函数
msgbox()
7、子程序
8、对象和集合
WSH对象入门
介绍以下cscrpt.exe和wscript.exe
cscript.exe c:/test.vbs
使用Cscript.exe /?
//B 批模式:不显示脚本错误及提示信息
//D 启用 Active Debugging
//E:engine 使用执行脚本的引擎
//H:CScript 将默认的脚本宿主改为 CScript.exe
//H:WScript 将默认的脚本宿主改为 WScript.exe (默认)
//I 交互模式(默认,与 //B 相对)
//Job:xxxx 执行一个 WSF 工作
//Logo 显示徽标(默认)
//Nologo 不显示徽标:执行时不显示标志
//S 为该用户保存当前命令行选项
//T:nn 超时设定秒:允许脚本运行的最长时间
//X 在调试器中执行脚本
//U 用 Unicode 表示来自控制台的重定向 I/O
参数说明就//nologo
C:/>cscript taskmgrlist.vbs
Microsoft (R) Windows Script Host Version 5.6
版权所有(C) Microsoft Corporation 1996-2001。保留所有权利。
0 System Idle Process
4 System
688 smss.exe C:/WINDOWS/System32/smss.exe
760 csrss.exe
784 winlogon.exe C:/WINDOWS/system32/winlogon.exe
828 services.exe C:/WINDOWS/system32/services.exe
840 lsass.exe C:/WINDOWS/system32/lsass.exe
C:/>cscript/nologo taskmgrlist.vbs
0 System Idle Process
4 System
688 smss.exe C:/WINDOWS/System32/smss.exe
760 csrss.exe
784 winlogon.exe C:/WINDOWS/system32/winlogon.exe
828 services.exe C:/WINDOWS/system32/services.exe
840 lsass.exe C:/WINDOWS/system32/lsass.exe
今天就先到这里下次开始讲“深入windows脚本主机对象模型”