Wmic 实例应用代码分享

至于别名,就是给主板、服务、系统、进程啦这些和计算机相关的东东起了个英文名,在wmic.exe /?命令行下也可以看到
wql语句和我们平常用的注入时的sql语句的语法几乎是一模一样,甚至更简单。一般是where name="xxx" and 之类的,不过有时候要把name=“xxx"这样的格式换成"name='xxx'"或者是where(name='xxx')这样,反正正常情况下不行的话就换个写法。
动词呢,就那么简单几个assoc、call、CREATE、DELETE、GET、LIST、SET,

至于副词(动词的参数),就是得到用动词+它的参数得到对象的属性。像属于list动词的副词,就是显示个什么样的呀,例如显示详细状态或简要状态。
动词开关就好比显示个横表格式的或者显示个竖表格式的或者输出个什么样格式的文件,或者是几秒来重复显示信息等等,有的动词并没有开关
  wmic /output:c:process.html process  get   processid,name,executablepath /format:htable
(wmic) +(全局开关) +      (别名)+ 动词(             副词            )+( 动词开关)

BIOS管理
列1、显示bios信息
在cmd中输入:wmic bios list full
哈哈头晕了吗?先在cmd中输入mode con cols=1200 lines=20 回车后再输入wmic bioslist 这新就好看多了
list是一特定个参数,list决定显示的信息格式与范围
full是一个参数
FULL=全部显示,                                - BiosCharacteristics,(特征码) BuildNumber, CodeSet, CurrentLanguage, Description,(种类) IdentificationCode,(鉴定码) InstallableLanguages,(安装语言) InstallDate(安装数据), LanguageEdition,(语言版本) ListOfLanguages, Manufacturer,(制造厂商) Name,(名子) OtherTargetOS,(其它对象系统) PrimaryBIOS,(主bios) ReleaseDate,(版本日期) SerialNumber,(字符串) SMBIOSBIOSVersion, SMBIOSMajorVersion, SMBIOSMinorVersion, SMBIOSPresent, SoftwareElementID, SoftwareElementState, Status, TargetOperatingSystem, Version
INSTANCE=对象实例                              - Name
STATUS=状态                                    - Status, Name, Caption, SMBIOSPresent
SYSTEM=系统                                    - __CLASS, __DERIVATION, __DYNASTY, __GENUS, __NAMESPACE, __PATH, __PROPERTY_COUNT, __RELPATH, __SERVER, __SUPERCLASS

列2、显示bios信息
在cmd中输入:wmic bios get

列3、显示完整bios信息
在cmd中输入:wmic bios get /value
加上参数value显示更加直观

进程管理
列1、显示进程摘要信息
在cmd中输入:wmic process list brief
brief是一个参数,list决定显示的信息格式与范围,process是别名

可用下列 LIST 格式:

列2、显示进程完整信息
在cmd中输入:wmic process get

可用下列 LIST 格式:
也就是说在get后面追加下列参数如追加多个参数要用逗号隔开如:wmic process get csname,executablepath

 
列3、显示某个进程信息
在cmd中输入:wmic process where (description="ttplayer.exe")

列4
查询进程的启动路径(将得到的信息输出)
wmic process get name,executablepath,processid
wmic /output:c:process.html process get processid,name,executablepath /format:htable

 
列5、结束一个进程(可根据进程对应的PID)
wmic process where name='outlook.exe' call terminate
wmic process where name="notepad.exe" delete
wmic process where name="notepad.exe" terminate
wmic process where pid="123" delete
wmic path win32_process where "name='notepad.exe'" delete

 
列出某个安装的程序的信息
wmic product get packagename="*.msi"

删除安装的程序
wmic product where name="*" delete
wmic product where name="腾讯qq2009" delete

查询进程的启动路径(将得到的信息输出)
wmic process get
wmic /output:c:process.html process get processid,name,executablepath /format:htable.xsl

 
查询指定进程的信息
wmic process where name="notepad.exe" get name,executablepath,processid
::name=进程名、executablepath=路径、processid=进程ID

 
重启远程计算机
wmic /node:192.168.8.10 /user:administrator /password:xiongyefeng process call create "shutdown -r -f"

关闭远程计算机
wmic /node:192.168.8.10 /user:administrator /password:xiongyefeng process call create "shutdown -s -f"

 
创造一个进程
wmic process call create "d:program filesttplayerttplayer.exe"

在远程计算上创建进程
wmic /node:192.168.8.10 /user:administrator /password:xiongyefeng process call create "c:windowsnotepad.exe"

 
磁盘管理

查看远程主机C盘情况
WMIC /node:"192.168.8.100" /user:"administrator" /password:"lcx" /output:a.html logicaldisk where "name='c:'" get DeviceID,Size,FreeSpace,Description,FileSystem /format:htable
其中node开关表示对哪台机器进行访问,user和password当然是远程机器的用户名和密码了,这个命令有了以上的讲解,大家应当一目了然了吧。

列6、查看本机C盘情况
wmic logicaldisk where name="c:" get
::Caption=说明、 Compressed=压缩、  CreationClassName=创造类名称  Description=描述、 DeviceID=驱动器ID号  DriveType=驱动器类型、 FileSystem=文件系统、 FreeSpace=剩余空间、MaximumComponentLength   Size=总容量、Status=状态、SystemName=计算机名、VolumeName=卷标名、VolumeSerialNumber卷标字符串

查看磁盘的属性
wmic logicaldisk list brief
::caption=标题、driveID=驱动器ID号、model=产品型号、Partitions=分区、size=大小

查看物理磁盘的真实情况
wmic diskdrive list
::Caption说明、DeviceID=驱动器ID号、Model=原硬盘型号、 Partitions=分区总数、 Size=硬盘大小

获得U盘的盘符号
wmic logicaldisk where drivetype='2' get deviceid,description
wmic logicaldisk where "drivetype=2" get name
::2=移动磁盘、3=本地磁盘、5=光驱。

更改卷标的名称
wmic logicaldisk where name="c:" set volumename=lsxq
::相当于label c: lsxq

安装包任务管理
列1 列出安装的程序及其它详解信息
wmic product get
::也可加上以下参数并用豆号隔开如:wmic prduct get name,installdate,

           
系统服务管理

 
wmic service where name="TermService" get processid
::获得指定服务进程的PID号

wmic service where state='running' get name,displayname
::显示正在运行的服务

 
wmic service where state='running' get name,pathname
::显示已启动服务对应所在的可执行文件路径

 
wmic service where name="sharedaccess" startservice
::启动一个服务

 
wmic service where name="sharedaccess" stopservice
::停止一个服务

wmic service where name='sharedaccess' changestartmode 'automatic'
::将某个服务设为自启动(手动、禁用)

显示开机自启动的服务
wmic service where startmode='auto' get name,displayname
::
显示开始自启动并且当前处于运行状态的服务
wmic service where "startmode='auto' and state='running'" get name,displayname
::
显示禁用或手动启动的服务
wmic service where 'startmode="disabled" or startmode="manual"' get name,displayname
::

 
文件管理

更改文件名
wmic datafile "c:temp1.txt" rename "c:temp2.txt"
::将c:temp下的1.txt文件命名为2.txt

复制单个文件
wmic datafile "c:test.txt" copy "d:lsxq.txt"

获得指定路径下特定扩展名的文件列表
wmic datafile where "drive='c:' and path='' and extension='txt'" get name,Path,"System File"

删除文件夹
wmic fsdir "c:test" delete

文件夹重命名
wmic fsdir "c:test" rename "c:lsxq"

 
复制文件夹
wmic fsdir where(name='c:tempken') call copy "d:ken1"
::复制C盘下的ken文件夹里的文件到D盘ken1里面,如果D盘ken1文件夹不存在它会自动创健,如果存在则直接复制过去。

重命名文件夹
wmic fsdir where(name='d:zhangzhimin') rename "d:ken"
::将d盘下的zhangzhimin文件夹命名为ken

 
全盘查找指定文件
wmic datafile where "filename='qq' and extension='exe'" get name

获得指定路径下特定扩展名并要求只显示满足题目条件的文件
wmic datafile where "drive='e:' and path='surecity' and extension='rar' and filesize>1000" get name

 

获取文件的创建、访问、修改时间
Wmic datafile where name="c:windowsnotepad.exe" get CreationDate,LastAccessed,LastModified
::createiondate=创建、LastAccessed=最后访问时间、LastModifie=最后修改时间

 
压缩指定文件夹,以便节省磁盘空间
wmic fsdir where (name='d:test') call compress
::压缩D盘的test文件夹,并以蓝色的字体突出显示

解压缩指定文件夹
wmic fsdir where (name='d:test') call compress
::解压缩D盘的test文件夹,并以恢复正常的字体

 
别名的用法及实例

别名 job
wmic job call create "sol.exe",0,0,1,0,********154600.000000+480
::
Os 别名

wmic os Where (primary='1') call win32shutdown *
这个*参数可以有如下值:
Const LOGOFF=0
Const SHUTDOWN=1
Const REBOOT=2
Const FORCE=4
Const POWEROFF=8

这些参数可以进行任意组合,例如:

强制注销:4 (0+4)的组合
强制关机:5 (1+4)的组合
强制重启:6 (2+4)的组合
强制关闭电源:12 (8+4)的组合

 
WMIC设置系统时间

要求需要有管理员权限
wmic os where(primary=1) call setdatetime 20120731144642.555555+480
::更改时间为2010年7月31号14点46分42秒

 

用来设置程序的优先权
wmic process 2556 call setpriority 64

64 Idle 优先权–低
16384 Below Normal 优先权–低于标准
32 Normal 优先权–标准
32768 Above Normal 优先权–高于标准
128 High Priority 优先权–高
256 Real Time 优先权–实时

Nicconfig 别名

wmic nicconfig where(index='8') call enablestatic "192.168.1.81″,"255.255.255.0"   
::设置IP地址和子网掩码
::index='8'网上索引值,每个网上的索引值都不同

wmic nicconfig where(index='8') call setgateways "192.168.0.1″,1          
::设置网关和跃点数

wmic nicconfig where(index='8') call setdnsdomain ("192.168.0.1″,"192.168.0.11")  
::设置DNS服务器地址,设置完毕后不会马上生效,必需要设置主次才可以生效

wmic nicconfig where(index='8') call SetDNSServerSearchOrder ("192.168.0.1","192.168.0.11") 
::设置DNS服务器地址的主次顺序,192.168.0.1在前表示为首选DNS地址,在后为备用DNS地址

wmic path Win32_NetworkAdapterConfiguration.index=8 call enabledhcp

WMIC默认的NICCONFIG别名是不提供enabledhcp这个方法的,所以我们只能调用他的WMI函数来设置动态分配IP地址的设置

wmic nicconfig where(index='8') get /value INDEX值为你当前网卡的索引值,每台机器都不一样猎取方法请在百度上发问

以下为网络方面设置的各个属性值:

ArpAlwaysSourceRoute=
ArpUseEtherSNAP=
Caption=[00000008] Broadcom 440x 10/100 Integrated Controller
DatabasePath=%SystemRoot%System32driversetc
DeadGWDetectEnabled=
DefaultIPGateway={"192.168.0.1″}
DefaultTOS=
DefaultTTL=
Description=Broadcom 440x 10/100 Integrated Controller - 数据包计划程序微型端口
DHCPEnabled=FALSE
DHCPLeaseExpires=
DHCPLeaseObtained=
DHCPServer=
DNSDomain=("192.168.0.1″,"192.168.0.11″)
DNSDomainSuffixSearchOrder=
DNSEnabledForWINSResolution=FALSE
DNSHostName=ql-libowen
DNSServerSearchOrder={"192.168.0.1″,"192.168.0.11″}
DomainDNSRegistrationEnabled=FALSE
ForwardBufferMemory=
FullDNSRegistrationEnabled=TRUE
GatewayCostMetric={1}
IGMPLevel=
Index=8
IPAddress={"192.168.0.81″}
IPConnectionMetric=20
IPEnabled=TRUE
IPFilterSecurityEnabled=FALSE
IPPortSecurityEnabled=
IPSecPermitIPProtocols={"0″}
IPSecPermitTCPPorts={"0″}
IPSecPermitUDPPorts={"0″}
IPSubnet={"255.255.255.0″}
IPUseZeroBroadcast=
IPXAddress=
IPXEnabled=FALSE
IPXFrameType=
IPXMediaType=
IPXNetworkNumber=
IPXVirtualNetNumber=
KeepAliveInterval=
KeepAliveTime=
MACAddress=00:0F:1F:4F:08:A0
MTU=
NumForwardPackets=
PMTUBHDetectEnabled=
PMTUDiscoveryEnabled=
ServiceName=bcm4sbxp
SettingID={B97AA60A-483E-4C84-84FE-5A3C6A875B65}
TcpipNetbiosOptions=0
TcpMaxConnectRetransmissions=
TcpMaxDataRetransmissions=
TcpNumConnections=
TcpUseRFC1122UrgentPointer=
TcpWindowSize=
WINSEnableLMHostsLookup=TRUE
WINSHostLookupFile=
WINSPrimaryServer=
WINSScopeID=
WINSSecondaryServer=

 
Pagefileset 别名

wmic pagefileset get /value
::察看本地计算机虚拟内存情况,初始大小,最大值,保存位置

wmic pagefileset create name='d:pagefile.sys',initialsize=512,maximumsize=1024
::改变虚拟内存文件(也就是我们常说的页面文件) 所在位置为D盘,初始值为521MB,最大值为1024MB
wmic pagefileset where(name='c:pagefile.sys') delete
::然后删除以前的就可以了,就可以实现虚拟文件的位置了

share 别名

WMIC SHARE CALL Create "","test","3″,"TestShareName","","c:test",0
::设置c:test文件夹为共享,共享名为:testsharename,注释:temp 连接用户数量为最多3个用户

0—–Disk Drive
1—–Print Queue
2—–Device
3—–IPC
2147483648—-Disk Drive Admin
2147483649—-Print Queue Admin
2147483650—-Device Admin
2147483651—-IPC Admin

 
WMIC SHARE where(path='c:test') delete
::删除c:test的共享文件夹

Computersystem 别名

wmic computersystem Where "name='zhang'" call rename "ken"
::将计算机名zhang改为ken 需要从启电脑

wmic computersystem Where "name='zhang'" call joindomainorworkgroup "","","MyGroup"
::将计算机名为“zhang“的工作组改为Mygroup工作组

wmic computersystem Where "name='计算机名称' call UnjoinDomainOrWorkgroup
::将计算机名为“zhang“退出所在域

wmic computersystem Where "name='计算机名称'" call joindomainorworkgroup "",1,"域名称","域管理员密码","域管理员用户名"
::例如:想要加入到的域名称为QLART ,域管理员用户名应该为 administrator@ql-art.com 或qlartadministrator 密码为:XXXXXX

 
useraccount 别名

wmic useraccount where(LocalAccount='1' and name='good') set disabled=true
::将good的用户名设置禁用即停止帐号使用

wmic useraccount where(LocalAccount='1' and name='good') set fullname="hello world!"
::将用户名为good的帐户的全名设置为how are you 当然你的电脑里得有这个帐户是前提

baseboard 别名

wmic baseboard get manufacturer,product,version
::可取得主板的生产厂商、主板型号、串行字符串及BIOS文件的型号

cdrom别名

wmic cdrom get name,manufacturer,drive,description,deviceID
::取得光盘驱动器的型号、生产商、盘符、驱动器ID

cpu 别名
wmic cpu get >d:cpu.txt
::在D盘打开名为cpu文本文件可看到一份CPU的详细信息,记得将记事本的“自动换行”的勾去掉,否则让你看的眼花缭乱,也看不出什么明堂

csproduct 别名

wmic csproduct list brief
::显示BIOS信息

DESKTOPMONITOR 别名

wmic desktopmonitor get >d:monitor.txt
::在D盘打开名为cpu文本文件可看到一份CPU的详细信息,记得将记事本“自动换行”的勾去掉

environment 别名

wmic environment list >d:m.txt&&start d:m.txt
::查看环境变量

group 别名

wmic group list >d:group.txt
::在D盘打开名为group文本文件可看到一份组帐户的详细信息,记得将记事本“自动换行”的勾去掉

wmic +别名+list >d:group.txt
::就会得到相应的信息,如:在cmd中输入wmic idecontroller list >d:group.txt 回车

  别名

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        - 将某一磁盘卷与磁盘配额设置关联。