WMIC怎么使用
WMIC
命令可以在XP或.NETServer的标准命令行解释器(cmd.exe)、Telnet会话或“运行”对话框中执行。这些启动方法可以在本地使用,也可以通过.NET Server终端服务会话使用。
WMIC的强大之处
可以使用WMIC管理本地或远程多个计算机,并且提供了从命令行接口和批命令脚本执行系统管理的支持。
下面就是输入wmic /?
后的结果,这是查询wmic帮助的命令
wmic:root\cli>/?
WMIC 已弃用。
[全局开关] <命令>
可以使用以下全局开关:
/NAMESPACE 别名在其上操作的命名空间的路径。
/ROLE 包含别名定义的角色的路径。
/NODE 别名在其上操作的服务器。
/IMPLEVEL 客户端模拟级别。
/AUTHLEVEL 客户端身份验证级别。
/LOCALE 客户端应使用的语言 ID。
/PRIVILEGES 启用或禁用所有权限。
/TRACE 将调试信息输出到 stderr。
/RECORD 记录所有输入命令和输出内容。
/INTERACTIVE 设置或重置交互模式。
/FAILFAST 设置或重置 FailFast 模式。
/USER 会话期间要使用的用户。
/PASSWORD 登录会话时要使用的密码。
/OUTPUT 指定输出重定向模式。
/APPEND 指定输出重定向模式。
/AGGREGATE 设置或重置聚合模式。
/AUTHORITY 指定连接的 <授权类型>。
/?[:<BRIEF|FULL>] 用法信息。
有关特定全局开关的详细信息,请键入: switch-name /?
当前角色中可以使用以下别名:
ALIAS - 对本地系统上可用别名的访问
BASEBOARD - 基板(也称为主板或系统板)管理。
BIOS - 基本输入/输出服务(BIOS)管理。
BOOTCONFIG - 启动配置管理。
CDROM - CD-ROM 管理。
COMPUTERSYSTEM - 计算机系统管理。
CPU - CPU 管理。
CSPRODUCT - SMBIOS 中的计算机系统产品信息。
DATAFILE - 数据文件管理。
DCOMAPP - DCOM 应用程序管理。
DESKTOP - 用户的桌面管理。
DESKTOPMONITOR - 桌面监视器管理。
DEVICEMEMORYADDRESS - 设备内存地址管理。
DISKDRIVE - 物理磁盘驱动器管理。
DISKQUOTA - 用于 NTFS 卷的磁盘空间使用量。
DMACHANNEL - 直接内存访问(DMA)通道管理。
ENVIRONMENT - 系统环境设置管理。
FSDIR - 文件系统目录项管理。
GROUP - 组帐户管理。
IDECONTROLLER - IDE 控制器管理。
IRQ - 中断请求线路(IRQ)管理。
JOB - 提供对使用计划服务安排的作业的访问。
LOADORDER - 定义执行依赖关系的系统服务的管理。
LOGICALDISK - 本地存储设备管理。
LOGON - 登录会话。
MEMCACHE - 缓存内存管理。
MEMORYCHIP - 内存芯片信息。
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 - 卷上的磁盘配额设置信息。
RDACCOUNT - 远程桌面连接权限管理。
RDNIC - 对特定网络适配器的远程桌面连接管理。
RDPERMISSIONS - 特定远程桌面连接的权限。
RDTOGGLE - 远程打开或关闭远程桌面侦听程序。
RECOVEROS - 操作系统出现故障时将从内存收集的信息。
REGISTRY - 计算机系统注册表管理。
SCSICONTROLLER - SCSI 控制器管理。
SERVER - 服务器信息管理。
SERVICE - 服务应用程序管理。
SHADOWCOPY - 卷影副本管理。
SHADOWSTORAGE - 卷影副本存储区域管理。
SHARE - 共享资源管理。
SOFTWAREELEMENT - 系统上安装的软件产品元素的管理。
SOFTWAREFEATURE - SoftwareElement 的软件产品子集的管理。
SOUNDDEV - 声音设备管理。
STARTUP - 当用户登录到计算机系统时自动运行的命令的管理。
SYSACCOUNT - 系统帐户管理。
SYSDRIVER - 基本服务的系统驱动程序管理。
SYSTEMENCLOSURE - 物理系统外壳管理。
SYSTEMSLOT - 物理连接点(包括端口、插槽和外设以及专用连接点)的管理。
TAPEDRIVE - 磁带驱动器管理。
TEMPERATURE - 温度传感器(电子温度计)数据管理。
TIMEZONE - 时区数据管理。
UPS - 不间断电源(UPS)管理。
USERACCOUNT - 用户帐户管理。
VOLTAGE - 电压传感器(电子电压表)数据管理。
VOLUME - 本地存储卷管理。
VOLUMEQUOTASETTING - 将磁盘配额设置与特定磁盘卷相关联。
VOLUMEUSERQUOTA - 每用户存储卷配额管理。
WMISET - WMI 服务操作参数管理。
有关特定别名的详细信息,请键入: alias /?
CLASS - 按 Esc 键可获取完整 WMI 架构。
PATH - 按 Esc 键可获取完整 WMI 对象路径。
CONTEXT - 显示所有全局开关的状态。
QUIT/EXIT - 退出程序。
有关 CLASS/PATH/CONTEXT 的详细信息,请键入: (CLASS | PATH | CONTEXT) /?
wmic:root\cli>
wmic的命令语法:
wmic+全局开关+别名+wql语句+动词+副词(或者说是动词的参数)+动词开关
全局开关:
/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.
/?[:<brief|full>] 用法信息。</p><p>有关具体全局开关的信息,请输入: switch-name /?</p><p>
别名:
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 - 本地储存设备管理。(结果:5-光驱、2-移动开发其他 磁盘、3-本地硬盘分区)
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 - 当操作系统失败时,将从内存收集的信息。
regis地理信息系统 try - 计算机系统注册表管理。
scsicontroller - scsi 控制器管理。
server - 服务器开发信息管理。
service - 服务程序管理。
share - 共享资源管理。
softwareelement - 安装在系统开发上的软件开发产品元
wmic的使用示例:
连接远程电脑
★★连接远程的电脑,不过好象对要开一些相应的服务
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为123wmic computersystem where "name='abc'" call rename 123
★★更改工作组google为MyGroupwmic 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文件,且文件大小大于1Kwmic 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.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 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:\toolswmic ENVIRONMENT where "name='path' and username='<system>'" set VariableValue="%path%;e:\tools"
★★新增系统环境变量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:\test目录下除过目录abc的所有目录wmic FSDIR where "drive='e:' and path='\\test\\' and filename<>'abc'" call delete
★★删除c:\good文件夹wmic fsdir "c:\\good" call delete
★★重命名c:\good文件夹为abbwmic fsdir "c:\\good" rename "c:\abb"
LOGICALDISK - 本地储存设备管理
★★获取硬盘系统格式、总大小、可用空间等wmic LOGICALDISK get name,Description,filesystem,size,freespace
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:\WINDOWS\system32\svchost.exe的wmic process where "name='svchost.exe' and ExecutablePath<>'C:\\WINDOWS\\system32\\svchost.exe'" call Terminate
★★新建notepad进程wmic process call create notepad
PRODUCT - 安装包任务管理
★★安装包在C:\WINDOWS\Installer目录下
★★卸载.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:\test",0
SOUNDDEV - 声音设备管理
wmic SOUNDDEV list
STARTUP - 用户登录到计算机系统时自动运行命令的管理
★★查看msconfig中的启动选项wmic STARTUP list
SYSDRIVER - 基本服务的系统驱动程序管理
wmic SYSDRIVER list
USERACCOUNT - 用户帐户管理
★★更改用户administrator全名为adminwmic USERACCOUNT where name="Administrator" set FullName="admin"
★★更改用户名admin为admin00wmic useraccount where "name='admin" call Rename admin00
★★查看当前系统打了哪些补丁wmic /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 Files\Tencent\QQ\QQ.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:\windows\system32\notepad.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
查看cpuwmic cpu list brief
查看物理内存wmic memphysical list brief
查看逻辑内存wmic memlogical list brief
查看缓存内存wmic memcache list brief
查看虚拟内存wmic pagefile list brief
查看网卡wmic nic list brief
查看网络协议wmic netprotocal list brief