zoukankan      html  css  js  c++  java
  • wmic命令用法小例

    wmic就是wmic.exe,位于windows目录底下,是一个命令行程序。WMIC可以以两种模式执行:交互模式(Interactive mode)和非交互模式(Non-Interactive mode),经常使用Netsh命令行的读者应该非常熟悉这两种模式。

    交互模式。如果你在命令提示符下或通过"运行"菜单只输入WMIC,都将进入WMIC的交互模式,每当一个命令执行完毕后,系统还会返回到WMIC提示符下,如"Rootcli",交互模式通常在需要执行多个WMIC指令时使用。交互模式有时还会对一些敏感的操作要求确认,比如删除操作,最大限度地防止用户操作出现失误。

    非交互模式。非交互模式是指将WMIC指令直接作为WMIC的参数放在WMIC后面,当指令执行完毕后再返回到普通的命令提示符下,而不是进入到WMIC上下文环境中。WMIC的非交互模式主要用于批处理或者其他一些脚本文件中,我在本文中一律用●非交互模式●示例。

    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    应用举例:

    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    显示进程的详细信息

    输入 process where name="maxthon.exe" list full

    将显示出mxathon.exe进程所有的信息如下:

    CommandLine="D:mytoolsMaxthon2Maxthon.exe"

    CSName=CHINA-46B1E8590

    Description=Maxthon.exe

    ExecutablePath=D:mytoolsMaxthon2Maxthon.exe

    ExecutionState=

    Handle=684

    HandleCount=2296

    InstallDate=

    KernelModeTime=3495000000

    MaximumWorkingSetSize=1413120

    MinimumWorkingSetSize=204800

    Name=Maxthon.exe

    OSName=Microsoft Windows XP Professional|C:WINDOWS|

    OtherOperationCount=307814

    OtherTransferCount=60877207

    PageFaults=1367971

    PageFileUsage=89849856

    ParentProcessId=1924

    PeakPageFileUsage=90091520

    PeakVirtualSize=385802240

    PeakWorkingSetSize=94031872

    Priority=8

    PrivatePageCount=89849856

    ProcessId=684

    QuotaNonPagedPoolUsage=43496

    QuotaPagedPoolUsage=257628

    QuotaPeakNonPagedPoolUsage=72836

    QuotaPeakPagedPoolUsage=271372

    ReadOperationCount=85656

    ReadTransferCount=121015982

    SessionId=0

    Status=

    TerminationDate=

    ThreadCount=57

    UserModeTime=1778750000

    VirtualSize=353206272

    WindowsVersion=5.1.2600

    WorkingSetSize=93716480

    WriteOperationCount=30940

    WriteTransferCount=24169673

    ******************************************************************************

    停止、暂停和运行服务功能

    启动服务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的区别。

    caption 显示服务名name服务名称,如: telnet服务的显示名称是telnet 服务名称是tlntsvr,还有Windows Time服务的名称是w32time 显示名称是"Windows Time"要用引号引起来,主要是有一个空格。

    好了具体看一下:输入Service where caption="windows time" call startservice后有一个确认输入y就可以了,返回ReturnValue = 0;表示成功

    wmic:rootcli>Service 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:"192.168.203.131" /password:"" /user:"administrator"

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

    ★★查看bios版本型号

    wmic bios get Manufacturer,Name

    WMIC设置IP地址

    ★★配置或更新IP地址:

    wmic nicconfig where index=0 call enablestatic("192.168.1.5"), ("255.255.255.0") ;index=0说明是配置网络接口1。

    配置网关(默认路由):

    wmic nicconfig where index=0 call setgateways("192.168.1.1"),(1)

    COMPUTERSYSTEM - 计算机系统管理

    ★★查看系统启动选项,boot的内容

    wmic COMPUTERSYSTEM get SystemStartupOptions

    ★★查看工作组/域

    wmic computersystem get domain

    ★★更改计算机名abc为123

    wmic computersystem where "name='abc'" call rename 123

    ★★更改工作组google为MyGroup

    wmic computersystem where "name='google'" call joindomainorworkgroup "","","MyGroup",1

    CPU - CPU 管理

    ★★查看cpu型号

    wmic cpu get name

    DATAFILE - DataFile 管理

    ★★查找e盘下test目录(不包括子目录)下的cc.cmd文件

    wmic datafile where "drive='e:' and path='\test\' and FileName='cc' and Extension='cmd'" list

    ★★查找e盘下所有目录和子目录下的cc.cmd文件,且文件大小大于1K

    wmic datafile where "drive='e:' and FileName='cc' and Extension='cmd' and FileSize>'1000'" list

    ★★删除e盘下文件大小大于10M的.cmd文件

    wmic datafile where "drive='e:' and Extension='cmd' and FileSize>'10000000'" call delete

    ★★删除e盘下test目录(不包括子目录)下的非.cmd文件

    wmic datafile where "drive='e:' and Extension<>'cmd' and path='test'" call delete

    ★★复制e盘下test目录(不包括子目录)下的cc.cmd文件到e:\,并改名为aa.bat

    wmic datafile where "drive='e:' and path='\test\' and FileName='cc' and Extension='cmd'" call copy "e:aa.bat"

    ★★改名c:hello.txt为c: est.txt

    wmic datafile "c:\hello.txt" call rename c: est.txt

    ★★查找h盘下目录含有test,文件名含有perl,后缀为txt的文件

    wmic datafile where "drive='h:' and extension='txt' and path like '%\test\%' and filename like '%perl%'" get name

    DESKTOPMONITOR - 监视器管理

    ★★获取屏幕分辨率

    wmic DESKTOPMONITOR where Status='ok' get ScreenHeight,ScreenWidth

    DISKDRIVE - 物理磁盘驱动器管理

    ★★获取物理磁盘型号大小等

    wmic DISKDRIVE get Caption,size,InterfaceType

    ENVIRONMENT - 系统环境设置管理

    ★★获取temp环境变量

    wmic ENVIRONMENT where "name='temp'" get UserName,VariableValue

    ★★更改path环境变量值,新增e: ools

    wmic ENVIRONMENT where "name='path' and username='<system>'" set VariableValue="%path%;e: ools"

    ★★新增系统环境变量home,值为%HOMEDRIVE%%HOMEPATH%

    wmic ENVIRONMENT create name="home",username="<system>",VariableValue="%HOMEDRIVE%%HOMEPATH%"

    ★★删除home环境变量

    wmic ENVIRONMENT where "name='home'" delete

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

    ★★查找e盘下名为test的目录

    wmic FSDIR where "drive='e:' and filename='test'" list

    ★★删除e: est目录下除过目录abc的所有目录

    wmic FSDIR where "drive='e:' and path='\test\' and filename<>'abc'" call delete

    ★★删除c:good文件夹

    wmic fsdir "c:\good" call delete

    ★★重命名c:good文件夹为abb

    wmic fsdir "c:\good" rename "c:abb"

    LOGICALDISK - 本地储存设备管理

    ★★获取硬盘系统格式、总大小、可用空间等

    wmic LOGICALDISK get name,Description,filesystem,size,freespace

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

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

    ★★设置系统时间

    wmic os where(primary=1) call setdatetime 20070731144642.555555+480

    PAGEFILESET - 页面文件设置管理

    ★★更改当前页面文件初始大小和最大值

    wmic PAGEFILESET set InitialSize="512",MaximumSize="512"

    ★★页面文件设置到d:下,执行下面两条命令

    wmic pagefileset create name='d:pagefile.sys',initialsize=512,maximumsize=1024

    wmic pagefileset where"name='c:\pagefile.sys'" delete

    PROCESS - 进程管理

    ★★列出进程的核心信息,类似任务管理器

    wmic process list brief

    ★★结束svchost.exe进程,路径为非C:WINDOWSsystem32svchost.exe的

    wmic process where "name='svchost.exe' and ExecutablePath<>'C:\WINDOWS\system32\svchost.exe'" call Terminate

    ★★新建notepad进程

    wmic process call create notepad

    PRODUCT - 安装包任务管理

    ★★安装包在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 Reinstall

    SERVICE - 服务程序管理

    ★★运行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 delete

    SHARE - 共享资源管理

    ★★删除共享

    wmic SHARE where name="e$" call delete

    ★★添加共享

    WMIC SHARE CALL Create "","test","3","TestShareName","","c: est",0

    SOUNDDEV - 声音设备管理

    wmic SOUNDDEV list

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

    ★★查看msconfig中的启动选项

    wmic STARTUP list

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

    wmic SYSDRIVER list

    USERACCOUNT - 用户帐户管理

    ★★更改用户administrator全名为admin

    wmic USERACCOUNT where name="Administrator" set FullName="admin"

    ★★更改用户名admin为admin00

    wmic useraccount where "name='admin" call Rename admin00

    ================================================获取补丁信息

    ★★查看当前系统打了哪些补丁

    /node:legacyhost qfe get hotfixid

    查看CPU当前的速度

    ★★cpu当前的速度

    wmic cpu get CurrentClockSpeed

    远程计算机的远程桌面连接

    ★★WMIC命令开启远程计算机的远程桌面连接

    执行wmic /node:192.168.1.2 /USER:administrator

    PATH win32_terminalservicesetting WHERE (__Class!="") CALL SetAllowTSConnections 1

    具体格式:

    wmic /node:"[full machine name]" /USER:"[domain][username]"

    PATH win32_terminalservicesetting WHERE (__Class!="") CALL SetAllowTSConnections 1

    wmic 获取进程名称以及可执行路径:

    wmic process get name,executablepath

    wmic 删除指定进程(根据进程名称):

    wmic process where name="qq.exe" call terminate

    或者用

    wmic process where name="qq.exe" delete

    wmic 删除指定进程(根据进程PID):

    wmic process where pid="123" delete

    wmic 创建新进程

    wmic process call create "C:Program FilesTencentQQQQ.exe"

    在远程机器上创建新进程:

    wmic /node:192.168.201.131 /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 newUserName

    wmic 结束可疑进程(根据进程的启动路径)

    wmic process where "name='explorer.exe' and executablepath<>'%SystemDrive%\windows\explorer.exe'" delete

    wmic 获取物理内存

    wmic memlogical get TotalPhysicalMemory|find /i /v "t"

    wmic 获取文件的创建、访问、修改时间

    @echo off

    for /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=%%a

    set b=%%b

    set c=%%c

    echo 文件: c:windowssystem32 otepad.exe

    echo.

    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.

    pause

    wmic 全盘搜索某文件并获取该文件所在目录

    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,ScreenWidth

    wmic 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 off

    for /f "skip=1 tokens=1-2 delims= " %%a in ('wmic process where caption^="conime.exe" get WorkingSetSize^,PeakWorkingSetSize') do (

    set /a m=%%a/1024

    set /a mm=%%b/1024

    echo 进程conime.exe现在占用内存:%m%K;最高占用内存:%mm%K

    )

    pause

    远程打开计算机远程桌面

    wmic /node:%pcname% /USER:%pcaccount% PATH win32_terminalservicesetting WHERE (__Class!="") CALL SetAllowTSConnections 1

  • 相关阅读:
    mysql中cast() 和convert()的用法讲解
    li内有span需要右浮的问题
    svn检出项目
    vue中的 ref 和 $refs
    for in 循环 和for循环 for of循环
    setInterval()、clearInterval()、setTimeout()和clearTimeout() js计数器方法(还有第三个参数)
    利用history.pushState()实现页面无刷新更新
    函数isNaN() parseFloat() parseInt() Math对象
    一个关于margin-top的问题
    vue 父子组件之间传参
  • 原文地址:https://www.cnblogs.com/lx823706/p/7080217.html
Copyright © 2011-2022 走看看