当前位置:文档之家› WMIC详解

WMIC详解

一、什么是WMIC?WMIC是扩展WMI(Windows Management Instrumentation,Windows管理规范),提供了从命令行接口和批命令脚本执行系统管理的支持。

在WMIC出现之前,如果要管理WMI系统,必须使用一些专门的WMI应用,比如SMS,或者使用WMI的脚本编程API,或者使用象CIM Studio之类的工具。

如果不熟悉C++之类的编程语言或VBScript之类的脚本语言,或者不掌握WMI名称空间的基本知识,要使用WMI管理系统是很困难的。

WMIC改变了这种情况,为WMI名称空间提供了一个强大的、友好的命令行接口。

本文将主要介绍我在使用过程中的一些经验,本着实用主义的原则,过多的概念性的东西我就不多介绍了,在用到的时候我再进行一些解释。

和上面的官方定义比起来,还有一个更好理解的解释:WMIC,是一款命令行管理工具。

使用WMIC,我们不但可以管理本地计算机,而且还可以管理同一Windows域内的所有远程计算机(需要必要的权限),而被管理的远程计算机不必事先安装WMIC,只需要支持WMI即可。

WMIC有一个能够分析、解释和执行从命令行接收的别名(Alias)的引擎,它是一个可执行文件,名为WMIC.exe,这个文件通常位于“c:\windows\system32\wbem”文件夹中(支持WinXP和Win2003系统)。

这样就比较好理解了吧,可以使用WMI管理远程计算机,是不是非常有吸引力呀!二、WMIC能做什么?可以使用WMIC实现如下的管理任务:1、本地计算机管理2、远程单个计算机管理3、远程多个计算机管理4、使用远程会话的计算机管理(如Telnet)5、使用管理脚本的自动管理三、简单的使用实例1、运行WMIC打开“开始”-“运行”栏,输入“WMIC”就可以启动wmic了,如图1。

第一次运行时,会显示WMIC 正在安装,请稍等。

几秒钟后就会出现如图2所示的命令提示符了。

2、初试WMIC下的命令在窗口下输入●process●执行看看,结果如图3所示,列出了正在运行的进程和调用进程的路径。

当然了,我们也可以输入●process list brief●来查看更详细的信息,比如进程名称、ID、优先级等。

更重要的是,对于现在有些可以在任务管理器里隐藏进程的木马,要想在wmic里隐藏,可就没那么容易了,它会成为你查杀木马的好帮手。

现在只是知道了路径,如果怀疑某一进程,想查看它的详细信息又该怎么办呢?那输入●process name=‘jqs.exe’list full●就可以了,jqs是我安装java后新增加的一个进程,大家在测试时也可以选用别的,如图4。

我们还可以使用以下命令来进程:●process where name=’jqs.exe’delete●,回车后就会提示我们是否删除,如图5。

这里将delete换成“call terminate”也可以达到同样的效果。

在wmic下如何查看BIOS信息呢?我们输入●bios list full●,是使用的命令吧,不用重启电脑就可以知道你现在使用的电脑的BIOS信息了,如图6。

除此之外,wmic还有停止、暂停和运行服务的功能:启动服务startservice,停止服务stopservice,暂停服务pauseservice。

具体的命令使用格式就是:●Service where caption=”windows time” call stopservice●--停止服务●Service where caption=”windows time” call startservice●--启动服务●Service where name=”w32time” call stopservice●--停止服务,注意name和caption的区别。

●wmic process call create shutdown.exe●--关闭本地计算机。

想要知道更多的命令,直接在命令行下输入“/?”,就可以获得详细的帮助信息了,如图7。

很多人制作的批处理或者脚本功能都是调用wmi实现的,它所具有的查看功能非常强大,尤其是安装了WMIC的电脑可以连接到任何一台安装了WMI的电脑,被连接的电脑不需要安装WMIC。

比如我们要查看局域网内所有计算机的进程,监视对方计算机进程等,至于其他更多的功能就请读者自己去挖掘吧C:\Documents and Settings\Lihongtao>wmic /?[global switches] <command>有效的全局开关有:/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>] 用法信息。

有关具体全局开关的信息,请输入: switch-name /?当前角色有下列别名。

:ALIAS - 访问本地机器上的别名BASEBOARD - 基板 (也叫母板或系统板) 管理。

BIOS - 基本输入/输出服务 (BIOS) 管理。

BOOTCONFIG - 启动配置管理。

CDROM - CD-ROM 管理。

COMPUTERSYSTEM - 计算机系统管理。

CPU - CPU 管理。

CSPRODUCT - SMBIOS 的计算机系统产品信息。

DATAFILE - DataFile 管理。

DCOMAPP - DCOM 程序管理。

DESKTOP - 用户桌面管理。

DESKTOPMONITOR - 监视器管理。

DEVICEMEMORYADDRESS - 设备内存地址管理。

DISKDRIVE - 物理磁盘驱动器管理。

DISKQUOTA - NTFS 卷磁盘空间使用情况。

DMACHANNEL - 直接内存访问(DMA)频道管理。

ENVIRONMENT - 系统环境设置管理。

FSDIR - 文件目录系统项目管理。

GROUP - 组帐户管理。

IDECONTROLLER - IDE 控制器管理。

IRQ - 间隔请求线 (IRQ) 管理。

JOB - 提供对使用计划服务安排的工作的访问。

LOADORDER - 定义执行依存的系统服务管理。

LOGICALDISK - 本地储存设备管理。

LOGON - 登录会话。

MEMCACHE - 缓存内存管理。

MEMLOGICAL - 系统内存管理 (配置布局和内存可用性)。

MEMPHYSICAL - 计算机系统物理内存管理。

NETCLIENT - 网络客户端管理。

NETLOGIN - (某一用户的)网络登录信息管理。

NETPROTOCOL - 协议 (和其网络特点) 管理。

NETUSE - 活动网络连接管理。

NIC - 网络界面控制器 (NIC) 管理。

NICCONFIG - 网络适配器管理。

NTDOMAIN - NT 域管理。

NTEVENT - NT 事件日志的项目NTEVENTLOG - NT 时间日志文件管理。

ONBOARDDEVICE - 母板(系统板)内置普通设适配器设备的管理。

OS - 已安装的操作系统管理。

PAGEFILE - 虚拟内存文件对调管理。

PAGEFILESET - 页面文件设置管理。

PARTITION - 物理磁盘分区区域的管理。

PORT - I/O 端口管理。

PORTCONNECTOR - 物理连接端口管理。

PRINTER - 打印机设备管理。

PRINTERCONFIG - 打印机设备配置管理。

PRINTJOB - 打印工作管理。

PROCESS - 进程管理。

PRODUCT - 安装包任务管理。

QFE - 快速故障排除。

QUOTASETTING - 设置卷的磁盘配额信息。

RECOVEROS - 当操作系统失败时,将从内存收集的信息。

REGISTRY - 计算机系统注册表管理。

SCSICONTROLLER - SCSI 控制器管理。

SERVER - 服务器信息管理。

SERVICE - 服务程序管理。

SHARE - 共享资源管理。

SOFTWAREELEMENT - 安装在系统上的软件产品元素的管理。

SOFTWAREFEATURE - SoftwareElement 的软件产品组件的管理。

SOUNDDEV - 声音设备管理。

STARTUP - 用户登录到计算机系统时自动运行命令的管理。

SYSACCOUNT - 系统帐户管理。

SYSDRIVER - 基本服务的系统驱动程序管理。

SYSTEMENCLOSURE - 物理系统封闭管理。

SYSTEMSLOT - 包括端口、插口、附件和主要连接点的物理连接点管理。

TAPEDRIVE - 磁带驱动器管理。

TEMPERATURE - 温度感应器的数据管理 (电子温度表)。

TIMEZONE - 时间区域数据管理。

UPS - 不可中断的电源供应 (UPS) 管理。

USERACCOUNT - 用户帐户管理。

VOLTAGE - 电压感应器 (电子电量计) 数据管理。

VOLUMEQUOTASETTING - 将某一磁盘卷与磁盘配额设置关联。

WMISET - WMI 服务操作参数管理。

有关具体别名的信息,请输入: alias /?CLASS - 按 ESC 键回到完整的 WMI 架构。

PATH - 按 ESC 键回到完整的 WMI 对象路径。

CONTEXT - 显示所有全局开关的状态。

QUIT/EXIT - 退出此程序。

有关 CLASS/PATH/CONTEXT 更多的信息,输入: (CLASS | PATH | CONTEXT) /?C:\Documents and Settings\Lihongtao>WMIC 实例教程2008-10-27 17:29wmic 获取进程名称以及可执行路径:wmic process get name,executablepathwmic 删除指定进程(根据进程名称):wmic process where name="qq.exe" call terminate或者用wmic process where name="qq.exe" deletewmic 删除指定进程(根据进程PID):wmic process where pid="123" deletewmic 创建新进程wmic process call create "C:\Program Files\Tencent\QQ\QQ.exe"在远程机器上创建新进程:wmic /node:192.168.1.10 /user:administrator /password:123456 process call create cmd.exe关闭本地计算机wmic process call create shutdown.exe重启远程计算机wmic /node:192.168.1.10/user:administrator /password:123456 process call create "shutdown.exe -r -f -m"更改计算机名称wmic computersystem where "caption='%ComputerName%'" call rename newcomputername更改帐户名wmic USERACCOUNT where "name='%UserName%'" call rename newUserNamewmic 结束可疑进程(根据进程的启动路径)wmic process where "name='explorer.exe' and executablepath<>'%SystemDrive%\\windows\\explorer.exe'" deletewmic 获取物理内存wmic memlogical get TotalPhysicalMemory|find /i /v "t"wmic 获取文件的创建、访问、修改时间@echo offfor /f "skip=1 tokens=1,3,5 delims=. " %%a in ('wmic datafile where name^="c:\\windows\\system32\\notepad.exe" get CreationDate^,LastAccessed^,LastModified') do (set a=%%aset b=%%bset c=%%cecho 文件: c:\windows\system32\notepad.exeecho.echo 创建时间: %a:~0,4% 年 %a:~4,2% 月 %a:~6,2% 日 %a:~8,2% 时 %a:~10,2% 分 %a:~12,2% 秒echo 最后访问: %b:~0,4% 年 %b:~4,2% 月 %b:~6,2% 日 %b:~8,2% 时 %b:~10,2% 分 %b:~12,2% 秒echo 最后修改: %c:~0,4% 年 %c:~4,2% 月 %c:~6,2% 日 %c:~8,2% 时 %c:~10,2% 分 %c:~12,2% 秒)echo.pausewmic 全盘搜索某文件并获取该文件所在目录for /f "skip=1 tokens=1*" %i in ('wmic datafile where "FileName='qq' and extension='exe'" get drive^,path') do (set "qPath=%i%j"&@echo %qPath:~0,-3%)获取屏幕分辨率 wmic DESKTOPMONITOR where Status='ok' get ScreenHeight,ScreenWidthwmic PageFileSet set InitialSize="512",MaximumSize="512"设置虚拟内存到E盘,并删除C盘下的页面文件,重启计算机后生效wmic PageFileSet create name="E:\\pagefile.sys",InitialSize="1024",MaximumSize="1024" wmic PageFileSet where "name='C:\\pagefile.sys'" delete获得进程当前占用的内存和最大占用内存的大小:wmic process where caption='filename.exe' get WorkingSetSize,PeakWorkingSetSize以KB为单位显示@echo offfor /f "skip=1 tokens=1-2 delims= " %%a in ('wmic process where caption^="conime.exe" get WorkingSetSize^,PeakWorkingSetSize') do (set /a m=%%a/1024set /a mm=%%b/1024echo 进程conime.exe现在占用内存:%m%K;最高占用内存:%mm%K)pause远程打开计算机远程桌面wmic /node:%pcname% /USER:%pcaccount% PATH win32_terminalservicesetting WHERE (__Class!="") CALL SetAllowTSConnections 1。

相关主题