WMIC:从命令行对Windows的全面管理.docx

上传人:夺命阿水 文档编号:991858 上传时间:2024-02-22 格式:DOCX 页数:9 大小:123.86KB
返回 下载 相关 举报
WMIC:从命令行对Windows的全面管理.docx_第1页
第1页 / 共9页
WMIC:从命令行对Windows的全面管理.docx_第2页
第2页 / 共9页
WMIC:从命令行对Windows的全面管理.docx_第3页
第3页 / 共9页
WMIC:从命令行对Windows的全面管理.docx_第4页
第4页 / 共9页
WMIC:从命令行对Windows的全面管理.docx_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《WMIC:从命令行对Windows的全面管理.docx》由会员分享,可在线阅读,更多相关《WMIC:从命令行对Windows的全面管理.docx(9页珍藏版)》请在课桌文档上搜索。

1、WMIC:从命令行对Windows的全面管理申朴方搜集整理lxzzrI2008-03-16从WindoWS2000开始,WMI(Windows管理规范)就是WindOWS系统管理的重要组成部分。WMIC是WindowsManagementInstrumentationCommand-line的简称,在WMIC出现之前,要从命令行访问WMI数据库或WMl名称空间不是一件容易的事情。现在,WMIC利用WMI强大的功能把系统管理扩展到了命令行。一、什么是WMlC?WMlC扩展WMI,提供了从命令行接口和批命令脚本执行系统管理的支持。在WMlC出现之前,如果要管理WMl系统,必须使用一些专门的WMl应

2、用,例如SMS,或者使用WMl的脚本编程API,或者使用象ClMStlIdiO之类的工具。如果不熟悉C+之类的编成语言或VBScript之类的脚本语言,或者不掌握WMI名称空间的基本知识,要用WMI管理系统是很困难的。WMIC改变了这种情况,为WMI名称空间提供了一个强大的、友好的命令行接口。WMIC比WMl简单、直观得多,这主要是由于使用了别名(AIias)。别名机制获取用户在命令行上输入的一些简单命令,按照预定义的方式操作WMl名称空间,例如根据一个简单的WMlC别名Get命令构造出一个复杂的WMl查询语言(WQL)命令。从这个意义上看,别名是用户和名称空间之间一个简化操作的中间层。例如,

3、如果在WMIC命令行上执行下面这个简单的WMIC命令,就可以获得用户帐户的基本信息:useraccountlistbrief在上面的命令中,Useraccount别名执行了一个Win32_Useraccount类的WQL杳询,以文本的形式显示出从该类提取的信息。另外,WMIC还以文本的形式显示出Win32_Useraccount类的属性。除了文本形式的输出之外,WMIC还能够以其他形式返回命令执行结果,例如XML、HTML或者CSV(逗号分隔的文本文件)。WMIC以WMl模式中类的实例的形式保存别名。默认的别名类MSFT_CliAlias,以及其他支持WMIC的类保存在模式的默认名称空间,或者

4、说rootcli角色。角色可以简单地看成专门用来支持WMlC的另一个WMl名称空间。默认角色rootcli连接到rootcimv2名称空间,操作rootcimv2之内的类。虽然使用WMIC时般不需要用到ClMStUdiO,但CIMStlJdio可以用来方便地查看rootcli名称空间。例如,图一显示了rootcli节点以及MSFTCIiAIias类的一些属性。SierftItrtI,lrrBlBtjxft)nOtS*Q国收磔号eM零WMICIMStudio助阖。MXl ol iriEgl?!OME31阑JXMSFT_CbAJa _SecgflMedCte, -PARAMETERS 一j -Sy

5、rtmScu* _NoMy$4Mug-SrtemCbsrl MSFLmrt MS.Ctfma I PIaiPIiOKI UBo0eC0r9Boot CCrA(MtCn fMr%9tmentStbct * horn Win3aBOoiCaiMEMCACHEJChe memorySect Irom WINlCACHEMEMo二CDROMCD-fiOM csan49emertSec * from Win3MeDROMDCrVe0MFCIMWyn Motyttetg 口 SeMcrfromOM.DeMHeCoerpulefSyttanCorapUbefsystem managemertfSded ho

6、rn Win32wCoCMjtefSyte匚SPdICOmPal poduct .ofTMhon bom SMBtOSfbet * horn W32MCOCu6ytRealtyCorrxetsta3Qemert d a terreaMe wmcv ech Select from Win32 Te82 P二完毕r7援的电府图一你可以向rtcli名称空间和其他名称空间加入新的别名,还可以用Class和Path命令直接访问WMI名称空间,本文后面将详细说明Class和Path命令。二、运行WMlC执行HWmiC”命令启动WMIC命令行环境。这个命令可以在XP或.NETServer的标准命令行解释器(

7、cmd.exe),TeInet会话或“运行”对话框中执行。这些启动方法可以在本地使用,也可以通过.NETServer终端服务会话使用。第一次执行WMIC命令时,Windows首先要安装WMIC,然后显示出WMIC的命令行提示符。在WMlC命令行提示符上,命令以交互的方式执行。例如,执行下面的命令将关闭正在运行的Outlk:processwherename=,outlook,exe,callterminate命令运行结束后,WMQ命令行提示符重新出现,如图二所示。每个命令必须在一行之内输入,中间不能插入换行符。图二WMIC也可以按照非交互的模式运行。如果要执行某个单步的任务,或者运行批命令中的一

8、系列WMIC命令,非交互模式就很有用。要使用非交互模式,只要在同一个命令行上启动WMlC并输入要执行的命令就可以了。例如,执行Cmd.exe打开一个命令行窗口,然后执行下面的命令,就可以输出连接到MACHlNEl的打印机清单:wmic/node:MACHlNElprinterliststatus在这个例子中,第一个操作是启动WMle然后是根据/node参数建立一个到MACHINE1的远程连接,最后执行一个WMlC命令显示出打印机状态信息。命令运行结束后,返回到WirldOWS命令行提示符状态。安装了WMlC的机器可以连接到任何一台安装了WMl的机器,被连接的机器不需要安装WMlC。例如,从一台

9、运行WirlXPPrO的机器启动WMIC,可以连接和管理所有运行着XP、Win2K、WindowsNT4.0、WindowsMe和Windows9的机器。三、WMlC命令行构成WMlC提供了大量的全局开关、别名、动词、命令和丰富的命令行帮助增强用户接口。全局开关是适用于整个WMIC会话的配置选项。例如,/trace:On开关启用错误跟踪机制,如果这个开关处于打开状态,WMIC返回每一个命令的错误信息。利用/note开关可以访问远程机器interactive:On开关要求WMlC在执行删除操作之前提示确认,其他的全局开关还包括/role、user/implevel以及/namespace。如前所

10、述,别名是用户和WMl名称空间一个简化语法的中间层。当你指定一个别名时,动词(Verb)表示要执行的动作。例如,前面例子中的LiSt和Call就是两个动词的例子。表一描述了其他一些WMIC动词,并为每一个动词给出了例子。表一:WMIC动词动词例子说明Assocgroupwherename=administratorsassoc显示出Administrators组与系统的所有关联,包括Administrators组成员等。又如,osassoc显示出有关操作系统的信息和已经安装的补丁。Createenvironmentcreatename=,progl,username=work01User1,v

11、ariablevalue=%programfiles%prog01,创建一个名字为Progl的变量,把它的值设置为ProgramFiles文件夹的个子文件夹,把这个变量加入到WorkOI工作组计算机Userl帐户。Deleteenvironmentwhere(name=progloc)delete删除Progloc环境变量。测试WMIC命令时,为了防止意外地删除,可以使IIJ/interactive:on全局开关,这时删除之前会要求确认。Getpartitiongetbootpartition,description,deviceid,bootable返回分区是否可启动、描述信息和设备ID属性

12、等信息。Setpathwin32_useRaccountwhere(name=,userO1)setdisabled=true在成员服务器或工作站上禁用UserOI用户帐户。命令用来控制对WMIC和WMl名称空间的访问。注意表一的最后一个例子,这个例子用的是Path和Win32_USERACCOUNT类,而不是USeraCCOUnt别名。Path是一个直接访问WMl名称空间中实例的命令,不必再通过别名访问。如果待执行的系统管理任务没有现成的别名可用,Path命令特别有用。虽然你可以用新的别名和角色扩展WMlC,但如果你对WMl名称空间比较熟悉,使用Path命令也很方便。除了Path命令之外,W

13、MlC还支持Class、ContextQUit和EXit命令。CIaSS命令用来直接访问WMI模式内的类或创建现有类的实例。Class命令和Path命令的不同之处在于,Path命令的作用对象是实例以及它的属性(例如,提取管理用的信息),而Class命令的作用对象是类的定义。例如,如果要提取出WIN32_SOFTWAREELEMENT类的所有属性,可以执行如下命令:classWIN32_S0FTWAREELEMENTget这个命令的输出是HTML格式,稍后我们将了解如何用/output全局开关把输出重定向到可用浏览器打开的HTML文件。CIaSS命令加上Assoc动词能够显示出类的名称空间路径以

14、及其他与该类关联的类。利用CIaSS命令可以删除类、创建类的实例,但不能创建类。Context命令显示出全局开关的当前设置。QUit和Exit命令用来退出WMIC命令提示符环境,返回以前的SheIl环境(例如Telnet环境,或XP的命令行提示符环境)。命令行帮助是熟悉WMIC的有效途径。表二是在WMIC提示符下查找信息的常用命令:表二:命令行帮助命令例子说明/?或-?显示所有全局开关和别名的语法/?/user/?显示指定全局开关的信息/?class?显示某个命令的信息/?memcache?显示某个别名的信息/?temperatureget?显示别名与动词组合的信息/?:Fullirqget/

15、?:Full显示动词的帮助信息四、实践应用以上我们了解了WMIC命令行环境的基础知识,下面来看看如何用批命令运行WMIC,以及把输出结果定向到控制台或HTML、XML文件。从批命令文件运行WMIC的好处在于不需要重复输入一系列复杂的命令,例如L下面是一个批命令文件的内容,它的作用是显示出MACHINE1和MACHINE2这两台机器的CPU信息,输出结果显示在控制台上。/format开关是面向动词的开关,而不是全局开关,它只用于Get和LiSt动词。wmic/node:MCHINE1,MCHINE4CPUgetname,caption,maxclockspeed,systemnameZforma

16、titextvaluelist.xslWMIC批命令可以使用变量。也就是说,对于上面的批命令,服务器的名字不仅可以直接指定,而且还可以通过1、2的形式指定,下面就是一个例子。把下面的代码放入一个批命令文件,然后在执行批命令文件时加上一到二个机器的名字即可;另外,也可以创建一个独立的文本文件,然后在文本文件中放入机器名字的清单,清单可以是CSV格式,或用换行符分隔的格式。如果使用独立的文本文件提供机器名字,只需在/node全局开关后面加上以符号为前缀的文本文件名字,符号告诉/node开关后面的参数是一个文件名字而不是机器名字。echooffifgotomsgif%2=gotosinglewmic

17、node%l,%2cpugetname,caption,maxclockspeed,systemnameZformatitextvaluelist.xslgotoend:singlewmicnoder%lcpugetname,caption,maxclockspeed,systemname/format:textvaluelist,xslgotoend:msgecho必须指定至少台计算机的名字。:end如前所逅WMIC命令的输出结果不仅可以发送到控制台,还可以发送到XML或HTML、MOF(ManagedObjectFormat)格式的文件。在安装了WMl的计算机上,Me)F是WMI数据库中类

18、和类实例的原始保存形式。下面的例子显示了如何把MACHINE4处理器信息的查询结果输出到HTML文件,/output全局开关要求WMIC把输出发送到file1.htm,/format开关要求WMIC把原始的XML输出转换成HTML格式。用来转换格式的XSL样式文件既可以是自定义的,也可以是任何安装了WMIC的机器上%systemroot%system32wbem文件夹下面的任意XSL文件。例如,利用csv.xsl样式文件可以把输出结果转换成CSV格式,利用htable.xsl样式可以构造出一个包含结果数据的表格。图三是在浏览器中打开的file1.htm文件。wmic/node:MACHINE4

19、/output:e:filei.htmcpugetdescription,maxclockspeed,extclock,manufacturer,revision/format:hform.xsl图三前面已经提到,CiaSS命令加上Get动词的默认输出是HTML格式。因此,如果要把这类命令的输出结果保存到HTML文件,只需指定/output开关,不必加上/format开关。/record和/append全局开关也能够从WMIC命令行截取信息,请利用WMIC的命令行帮助功能了解有关这些开关的更多信息。如果要以XML格式输出,用/translate开关和Basicxml关键词把大于符号“”和小于符

20、号“v”转换成XML中有意义的字符。下面是输出XML的一个例子,输出的XML数据可导入到数据库或其他能够理解XML标记的系统。下面代码的输出中包含了WMIC命令、命令行请求参数、目标节点、全局开关以及命令执行结果。wmiccpugetmaxclockspeed/translate:basicxml/format:rawxml.xsl总之,WMlC是XP和.NETServer中命令行管理功能的一次重要改进,对于从命令行访问和管理WMl名称空间提供了强健的支持。虽然掌握和熟悉WMlC命令行环境需要一段时间,但只要你熟悉了它,一个系统管理的全新境界将展现在你的.WMIC(下)2008-3-16maiIto:IXzZr

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号