wmic命令详解.docx_第1页
wmic命令详解.docx_第2页
wmic命令详解.docx_第3页
wmic命令详解.docx_第4页
wmic命令详解.docx_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

执行“wmic”命令启动WMIC命令行环境。这个命令可以在XP或 .NET Server的标准命令行解释器(cmd.exe)、Telnet会话或“运行”对话框中执行。这些启动方法可以在本地使用,也可以通过.NET Server终端服务会话使用。 第一次执行WMIC命令时,Windows首先要安装WMIC,然后显示出WMIC的命令行提示符。在WMIC命令行提示符上,命令以交互的方式执行。wimic的运行方式可以有两种法:1、搞入wimic进入后输入命令运行,键入wimic后出现wmic:rootcli时你就可以输入命令了,如输入process显示所有的进程。不知道有什么命令时可以输入用/?来显示帮助。exit 是退出交互模式。具体帮助用法如下:命令行帮助 命令 例子 说明 /? 或 -? 显示所有全局开关和别名的语法 / /? /user /? 显示指定全局开关的信息 /? class /? 显示某个命令的信息 /? memcache /? 显示某个别名的信息 /? temperature get /? 显示别名与动词组合的信息 /?:Full irq get /?:Full 显示动词的帮助信息如:我要查看process命令的帮助,键入:process/?后显示如下:wmic:rootcliprocess /?PROCESS - 进程管理。提示: BNF 的别名用法。( WMIObject | | ) .用法:PROCESS ASSOC PROCESS CALL PROCESS CREATE PROCESS DELETEPROCESS GET PROCESS LIST 2、用wimic 后面直接跟命令运行,如wmic process 就显示了所有的进程了。这两种运行方法就是:交互模式(Interactive mode)和非交互模式(Non-Interactive mode)下面我们能过一些实例来说明用法:=显示进程的详细信息输入 process where name=maxthon.exe list full将显示出mxathon.exe进程所有的信息如下:CommandLine=D:mytoolsMaxthon2Maxthon.exeCSName=CHINA-46B1E8590Description=Maxthon.exeExecutablePath=D:mytoolsMaxthon2Maxthon.exeExecutionState=Handle=684HandleCount=2296InstallDate=KernelModeTime=3495000000MaximumWorkingSetSize=1413120MinimumWorkingSetSize=204800Name=Maxthon.exeOSName=Microsoft Windows XP Professional|C:WINDOWS|OtherOperationCount=307814OtherTransferCount=60877207PageFaults=1367971PageFileUsage=89849856ParentProcessId=1924PeakPageFileUsage=90091520PeakVirtualSize=385802240PeakWorkingSetSize=94031872Priority=8PrivatePageCount=89849856ProcessId=684QuotaNonPagedPoolUsage=43496QuotaPagedPoolUsage=257628QuotaPeakNonPagedPoolUsage=72836QuotaPeakPagedPoolUsage=271372ReadOperationCount=85656ReadTransferCount=121015982SessionId=0Status=TerminationDate=ThreadCount=57UserModeTime=1778750000VirtualSize=353206272WindowsVersion=5.1.2600WorkingSetSize=93716480WriteOperationCount=30940WriteTransferCount=24169673*停止、暂停和运行服务功能启动服务startservice,停止服务stopservice,暂停服务pauseserviceService where caption=windows time call stopservice -停止服务Service where caption=windows time call startservice -启动服务Service where name=w32time call stopservice -停止服务,注意name和caption的区别。caption 显示服务名name服务名称,如: telnet服务的显示名称是telnet 服务名称是tlntsvr,还有Windows Time服务的名称是w32time 显示名称是Windows Time要用引号引起来,主要是有一个空格。好了具体看一下:输入Service where caption=windows time call startservice后有一个确认输入y就可以了,返回ReturnValue = 0;表示成功wmic:rootcliService where caption=windows time call startservice执行 (CHINA-46B1E8590ROOTCIMV2:Win32_Service.Name=W32Time)-startservice()方法执行成功。输出参数:instance of _PARAMETERS ReturnValue = 0;wmic:rootcli=显示出BIOS信息 wmic bios list full 大 家可能注意到了上面命令行中还有两个参数list和full。list决定显示的信息格式与范围,它有Brief、Full、Instance、 Status、System、Writeable等多个参数,full只是它的一个参数,也是list的缺省参数,表示显示所有的信息。其他几个参数顾名 思义,如Brief表示只显示摘要信息,Instance表示只显示对象实例,Status表示显示对象状态,Writeable表示只显示该对象的可写 入的属性信息等。*=停止进程的操作例如,执行下面的命令将关闭正在运行的QQ.exe:例1、wmic process where name=QQ.exe call terminate 命令运行结束后,WMIC命令行提示出如下结果:C:wmic process where name=QQ.exe call terminate执行 (CHINA-46B1E8590ROOTCIMV2:Win32_Process.Handle=728)-terminate()方法执行成功。输出参数:instance of _PARAMETERS ReturnValue = 0;例2、wmic process where name=qq.exe delete 命令运行结束后,WMIC命令行提示出如下结果:C:wmic process where name=qq.exe delete删除范例 CHINA-46B1E8590ROOTCIMV2:Win32_Process.Handle=2820范例删除成功。=列出所有的进程 wmic process=连接远程电脑连接远程的电脑,不过好象对要开一些相应的服务wmic /node:31 /password: /user:administratorBIOS - 基本输入/输出服务 (BIOS) 管理查看bios版本型号wmic bios get Manufacturer,NameWMIC设置IP地址配置或更新IP地址:wmic nicconfig where index=0 call enablestatic(), () ;index=0说明是配置网络接口1。配置网关(默认路由):wmic nicconfig where index=0 call setgateways(),(1)COMPUTERSYSTEM - 计算机系统管理查看系统启动选项,boot的内容wmic COMPUTERSYSTEM get SystemStartupOptions查看工作组/域wmic computersystem get domain更改计算机名abc为123wmic computersystem where name=abc call rename 123更改工作组google为MyGroupwmic computersystem where name=google call joindomainorworkgroup ,MyGroup,1CPU - CPU 管理查看cpu型号wmic cpu get nameDATAFILE - DataFile 管理查找e盘下test目录(不包括子目录)下的cc.cmd文件wmic datafile where drive=e: and path=test and FileName=cc and Extension=cmd list查找e盘下所有目录和子目录下的cc.cmd文件,且文件大小大于1Kwmic datafile where drive=e: and FileName=cc and Extension=cmd and FileSize1000 list删除e盘下文件大小大于10M的.cmd文件wmic datafile where drive=e: and Extension=cmd and FileSize10000000 call delete删除e盘下test目录(不包括子目录)下的非.cmd文件wmic datafile where drive=e: and Extensioncmd and path=test call delete复制e盘下test目录(不包括子目录)下的cc.cmd文件到e:,并改名为aa.batwmic datafile where drive=e: and path=test and FileName=cc and Extension=cmd call copy e:aa.bat改名c:hello.txt为c:test.txtwmic datafile c:hello.txt call rename c:test.txt查找h盘下目录含有test,文件名含有perl,后缀为txt的文件wmic datafile where drive=h: and extension=txt and path like %test% and filename like %perl% get nameDESKTOPMONITOR - 监视器管理获取屏幕分辨率wmic DESKTOPMONITOR where Status=ok get ScreenHeight,ScreenWidthDISKDRIVE - 物理磁盘驱动器管理获取物理磁盘型号大小等wmic DISKDRIVE get Caption,size,InterfaceTypeENVIRONMENT - 系统环境设置管理获取temp环境变量wmic ENVIRONMENT where name=temp get UserName,VariableValue更改path环境变量值,新增e:toolswmic ENVIRONMENT where name=path and username= set VariableValue=%path%;e:tools新增系统环境变量home,值为%HOMEDRIVE%HOMEPATH%wmic ENVIRONMENT create name=home,username=,VariableValue=%HOMEDRIVE%HOMEPATH%删除home环境变量wmic ENVIRONMENT where name=home deleteFSDIR - 文件目录系统项目管理查找e盘下名为test的目录wmic FSDIR where drive=e: and filename=test list删除e:test目录下除过目录abc的所有目录wmic FSDIR where drive=e: and path=test and filenameabc call delete删除c:good文件夹wmic fsdir c:good call delete重命名c:good文件夹为abbwmic fsdir c:good rename c:abbLOGICALDISK - 本地储存设备管理获取硬盘系统格式、总大小、可用空间等wmic LOGICALDISK get name,Description,filesystem,size,freespaceNIC - 网络界面控制器 (NIC) 管理OS - 已安装的操作系统管理设置系统时间wmic os where(primary=1) call setdatetime 20070731144642.555555+480PAGEFILESET - 页面文件设置管理更改当前页面文件初始大小和最大值wmic PAGEFILESET set InitialSize=512,MaximumSize=512页面文件设置到d:下,执行下面两条命令wmic pagefileset create name=d:pagefile.sys,initialsize=512,maximumsize=1024wmic pagefileset wherename=c:pagefile.sys deletePROCESS - 进程管理列出进程的核心信息,类似任务管理器wmic process list brief结束svchost.exe进程,路径为非C:WINDOWSsystem32svchost.exe的wmic process where name=svchost.exe and ExecutablePathC:WINDOWSsystem32svchost.exe call Terminate新建notepad进程wmic process call create notepadPRODUCT - 安装包任务管理安装包在C:WINDOWSInstaller目录下卸载.msi安装包wmic PRODUCT where name=Microsoft .NET Framework 1.1 and Version=1.1.4322 call Uninstall修复.msi安装包wmic PRODUCT where name=Microsoft .NET Framework 1.1 and Version=1.1.4322 call ReinstallSERVICE - 服务程序管理运行spooler服务wmic SERVICE where name=Spooler call startservice停止spooler服务wmic SERVICE where name=Spooler call stopservice暂停spooler服务wmic SERVICE where name=Spooler call PauseService更改spooler服务启动类型auto|Disabled|Manual 释自动|禁用|手动wmic SERVICE where name=Spooler set StartMode=auto删除服务wmic SERVICE where name=test123 call deleteSHARE - 共享资源管理删除共享wmic SHARE where name=e$ call delete添加共享WMIC SHARE CALL Create ,test,3,TestShareName,c:test,0SOUNDDEV - 声音设备管理wmic SOUNDDEV listSTARTUP - 用户登录到计算机系统时自动运行命令的管理查看msconfig中的启动选项wmic STARTUP listSYSDRIVER - 基本服务的系统驱动程序管理wmic SYSDRIVER listUSERACCOUNT - 用户帐户管理更改用户administrator全名为adminwmic USERACCOUNT where name=Administrator set FullName=admin更改用户名admin为admin00wmic useraccount where name=admin call Rename admin00=获取补丁信息查看当前系统打了哪些补丁/node:legacyhost qfe get hotfixid查看CPU当前的速度cpu当前的速度wmic cpu get CurrentClockSpeed远程计算机的远程桌面连接WMIC命令开启远程计算机的远程桌面连接执行wmic /node: /USER:administrator PATH win32_terminalservicesetting WHERE (_Class!=) CALL SetAllowTSConnections 1具体格式:wmic /node:full machine name /USER:domainusername PATH win32_terminalservicesetting WHERE (_Class!=) CALL SetAllowTSConnections 1wmic 获取进程名称以及可执行路径: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 FilesTencentQQQQ.exe在远程机器上创建新进程:wmic /node:31 /user:administrator /password:123456 process call create cmd.exe关闭本地计算机wmic process call create shutdown.exe重启远程计算机wmic /node:0/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%windowsexplorer.exe deletewmic 获取物理内存wmic memlogical get TotalPhysicalMemory|find /i /v twmic 获取文件的创建、访问、修改时间echo offfor /f skip=1 tokens=1,3,5 delims=. %a in (wmic datafile where name=c:windowssystem32notepad.exe get CreationDate,LastAccessed,LastModified) do (set a=%aset b=%bset c=%cecho 文件: c:windowssystem32notepad.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=1024wmic 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=批处理的api-WMIC学习体会在这篇文章里也许你看不到很多奇特有用的的实际例程,但是呢,授人以鱼不如授人以渔,希望我的文章能让你通俗易懂的了解一些wmic的基本知识,可以有一个学习的兴趣,让自己继续深研一下wmic。 在 WINDOWSHelp目下,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提示符下, 如Rootcli,交互模式通常在需要执行多个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 for the connection. /?: Usage information. 至于别名啦,就是给主板、服务、系统、进程啦这些和计算机相关的东东起了个英文名,在wmic.exe /?命令行下也可以看到。 wql 语句和我们平常用的注入时的sql语句的语法几乎是一模一样,甚至更简单。一般是where name=xxx and 之类的,不过有时候要把name“xxx这样的格式换成name=xxx或者是where(name=xxx)这样,反正正常情况下不行 的话就换个写法。 动词呢,就那么简单几个assoc、call、CREATE、DELETE、GET、LIST、SET,从英文名字上应当可以看出它们是用来干什么的。不过说实话,assoc我真的还没用到过。 至于副词(动词的参数),就是得到用动词+它的参数得到对象的属性。像属于list动词的副词,就是显示个什么样的呀,例如显示详细状态或简要状态。 动词开关就好比显示个横表格式的或者显示个竖表格式的或者输出个什么样格式的文件,或者是几秒来重复显示信息等等,有的动词并没有开关。 二、一步一步来完成我们的wmic命令行 wmic 里有个别名是logicaldisk,就是对磁盘进行管理。我们先按照最简单的格式来写,在cmd命令行下输入wmic logicaldisk list(wmic.exe+别名+list动词),稍等一会儿屏幕上会出现本地硬盘的各式各样的数据,看上去杂乱无章。这样子太不方便看了,我们来改 写一下,改成wmic logicaldisk list brief,在list动词后加个brief参数,也就是brief副词,显示的就会很整齐,效果如下: DeviceID brief FreeSpace ProviderName Size VolumeName A: 2 C: 3 2925694976 6805409792 WINXP D: 3 1117487104 1759936512 WORK E: 5 大 家可能注意到了上面命令行中有动词list和副词brief。list动词决定显示的信息格式与范围,它有Brief、Full、Instance、 Status、System、Writeable等多个参数(副词),full只是它的一个参数,也是list的缺省参数,表示显示所有的信息。其他几个 参数顾名思义,如Brief表示只显示摘要信息,Instance表示只显示对象实例,Status表示显示对象状态,Writeable表示只显示该对 象的可写入的属性信息等。 我们再来把语句加点东东,在上边磁盘返回信息当中的DeviceID的值为3时表示是本地硬盘的分区,如果是5为光 区,为2则是移动磁盘了。我们把语句改一下,加入wql语句,只显示本地磁盘。语句改成wmic logicaldisk where DriveType=3 list brief或者是wmic logicaldisk where(DriveType=3)list brief,显示效果都是下边的样子: DeviceID DriveType FreeSpace ProviderName Size VolumeName C: 3 2925686784 6805409792 WINXP D: 3 1117487104 1759936512 WORK 但 是上边的格式呢显示的我们还是不太满意,ProviderName不知是个什么东东也给显示出来了,我们只想要我们想要的东东,像卷标 VolumeName之类的我们也不要它,再把语句改一下,换个get动词,命令改为wmic logicaldisk where DriveType=3 get DeviceID,Size,FreeSpace,Description,FileSystem,返回信息如下: DeviceID,Size,FreeSpace,Description,FileSystem Description DeviceID FileSystem FreeSpace Size 本地固定磁盘 C: FAT32 2925686784 6805409792 本地固定磁盘 D: FAT 1117487104 1759936512 至 于get动词后面跟的参数你可以先用list来查看一下就明白了。好了,这回可以得到我们想要的结果了。不过命令里的开关我们还没用到呢,加几个全局开关 吧。先来加个/OUTPUT吧,让它把显示信息输出到一个文件中,命令如下:wmic /output:a.html logicaldisk where DriveType=3 get DeviceID,Size,FreeSpace,Description,FileSystem,这样一来刚才屏幕上返回的信息就到当前目录的 a.htm里了。但是a.htm打开看看后,根本就像一个记事本一样,没有任何样式,看起来也不美观,我们给它指定一个样式,就要用到format这个动 词开关了,命令改为wmic /output:a.html logicaldisk where DriveType=3 get DeviceID,Size,FreeSpace,Description,FileSystem /format:htable,这样一来a.htm里就花花绿绿的用表格显示我们本地磁盘的信息了。也许你要问,htable是什么东东,其实这是一个 文件,你想要上边的a.html什么格式,就可以在C:WINDOWSsystem32wbem这里找一个你想要的格式的文件名,具体有以下一些文 件: CSV HFORM HMOF HTABLE HXML LIST TABLE VALUE htable-

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论