欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

批处理的api WMIC学习体会有感第1/2页

程序员文章站 2022-06-23 18:24:48
给黑手专栏里写的文章 批处理的api--wmic学习体会 lcx 在这篇文章里也许你看不到很多奇特有用的的实际例程,但是呢,授人以鱼不如授人以渔,希望我的文章能让你通俗易懂...
给黑手专栏里写的文章
批处理的api--wmic学习体会 lcx
在这篇文章里也许你看不到很多奇特有用的的实际例程,但是呢,授人以鱼不如授人以渔,希望我的文章能让你通俗易懂的了解一些wmic的基本知识,可以有一个学习的兴趣,让自己继续深研一下wmic。

在windows\help目下,wmic.chm文档是这样解释wmi的:windows management instrumentation (wmi) 是“基于 web 的企业管理倡议 (wbem)”(这是一个旨在建立在企业网络*问和共享管理信息的标准的工业倡议)的 microsoft 的实现。有关 wbem 的详细信息,请访问 wbem。xoxwmi 为公用信息模型 (cim)(该数据模型描述存在于管理环境中的对象)提供完整的支持。wmi 包括对象储备库和 cim 对象管理器,其中对象储备库是包含对象定义的数据库,对象管理器负责处理储备库中对象的收集和操作并从 wmi 提供程序 (wmi provider) 收集信息。wmi 提供程序 (wmi provider) 在 wmi 和操作系统、应用程序以及其他系统的组件之间充当中介。例如,注册表提供程序从注册表中提供信息,而 snmp 提供程序则从 snmp 设备中提供数据和事件。提供程序提供关于其组件的信息,也可能提供一些方法,这些方法可以操作可设置的组件、属性,或者操作可能警告您在组件中要发生更改的事件。windows management instrumentation 命令行 (wmic) 向您提供了简单的 windows management instrumentation (wmi) 命令行界面,这样即可利用 wmi 来管理运行 windows 的计算机。wmic 与现有命令行程序和实用程序命令相互操作,且很容易通过脚本或其他面向管理的应用程序来扩展 wmic。

以上的这些说法太专业了,通俗一点讲就是wmic.exe是一个命令行程序,可以用它这个接口来实现在命令行下直接管理计算机软硬件等方方面面的操作,相当于批处理的api了。

一、wmic的基本命令格式简析
经常看网上的相关资料的话,读者可能会对wmic有一个基本的认识,不过看得越多估计会越糊涂,起码我是这样认为的。其实简单总结一下,命令格式就是“wmic+全局开关+别名+wql语句+动词+副词(或者说是动词的参数)+动词开关”而已了。这个命令格式可以根据需要来写全或者写部份格式,我这里依次对格式的每个名称按自己的理解来解释一下,不过肯定完全不符合微软专家的定义,只是让大家弄懂它们而已。

wmic就是wmic.exe,位于windows目录底下,是一个命令行程序。wmic可以以两种模式执行:交互模式(interactive mode)和非交互模式(non-interactive mode),经常使用netsh命令行的读者应该非常熟悉这两种模式。
交互模式。如果你在命令提示符下或通过"运行"菜单只输入wmic,都将进入wmic的交互模式,每当一个命令执行完毕后,系统还会返回到wmic提示符下,如"root\cli",交互模式通常在需要执行多个wmic指令时使用。交互模式有时还会对一些敏感的操作要求确认,比如删除操作,最大限度地防止用户操作出现失误。
非交互模式。非交互模式是指将wmic指令直接作为wmic的参数放在wmic后面,当指令执行完毕后再返回到普通的命令提示符下,而不是进入到wmic上下文环境中。wmic的非交互模式主要用于批处理或者其他一些脚本文件中,我在本文中一律用●非交互模式●示例。

开关有以下的全局开关,打入wmic.exe /?可以看到的(这里我们先不讨论每个开关的具体意思,具体用法看示例):

/namespace           别名使用的名称空间路径。
/role                包含此别名定义的角色路径。
/node                别名使用的服务器。
/implevel            客户模拟级别。
/authlevel           客户身份验证级别。
/locale              客户应用的语言识别符。
/privileges          启用或禁用所有特权。
/trace               将调试信息输出到 stderr。
/record              将所有输入命令和输出写入日志。
/interactive         设置或重设交互模式。
/failfast            设置或重置 failfast 模式。
/user                会话期间使用的用户。
/password            用于会话登录的密码。
/output              为输出重新定向指定模式。
/append              为输出重新定向指定模式。
/aggregate           设置或重置集合模式。
/authority           specifies the <authority type> for the connection.
/?[:<brief|full>]    usage information.

1