wmic 介绍与语法

WMI(Windows Management Instrumentation,Windows 管理规范)是一项核心的 Windows 管理技术;用户可以使用 WMI 管理本地和远程计算机。
WMIC扩展WMI(Windows Management Instrumentation,Windows管理工具) ,提供了从命令行接口和批命令脚本执行系统管理的支持。在WMIC出现之前,如果要管理WMI系统,必须使用一些专门的WMI应用,例如SMS,或者使用WMI的脚本编程API,或者使用象CIM Studio之类的工具。如果不熟悉C++之类的编程语言或VBScript之类的脚本语言,或者不掌握WMI名称空间的基本知识,要用WMI管理系统是很困难的。WMIC改变了这种情况。
WMIC比WMI简单、直观得多,这主要是由于使用了别名。别名机制获取用户在命令行上输入的一些简单命令,按照预定义的方式操作WMI名称空间,例如根据一个简单的WMIC别名Get命令构造出一个复杂的WMI查询语言(WQL)命令。从这个意义上看,别名是用户和名称空间之间一个简化操作的中间层。例如,如果在WMIC命令行上执行下面这个简单的WMIC命令,就可以获得用户帐户的基本信息。
 
然而Win10执行WMIC会提示“WMIC已弃用”。由此可见,命令行WMIC将来可能会被微软放弃。但这么有用的功能肯定还要继续使用。它的替代品就是powershell上的Get-WmiObject。
 
命令用法:[全局开关] <命令>
 
wmic的两种运行方式:
1.键入wmic进入后输入命令运行
2.用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 服务操作参数管理。
 

常用命令语法

1. 硬件管理

(1)获取磁盘的信息(标题、接口、容量(单位:B))
wmic DiskDrive get Deviceid,Caption,Size,InterfaceType
(2)获取逻辑分区的信息(名称、说明、文件系统、容量、可用空间)
wmic LogicalDisk get name,Description,FileSystem,Size,FreeSpace
(3)获取CPU的信息(名称、主频(单位:MHz)、位宽、序列号)
wmic CPU get Name,CurrentClockSpeed,AddressWidth,ProcessorId
(4)获取主板信息(生产商、产品名、版本、序列号)
wmic BaseBoard get Manufacturer,Product,Version,SerialNumber
(5)获取品牌机信息(名称、厂商、序列号)
wmic CSProduct get name,Vendor,IdentifyingNumber
(6)获取内存的信息(安装插槽位置,内存容量大小,设备定位器,速度,生产商)
wmic MemoryChip get BankLabel,Capacity,DeviceLocator,Speed,Manufacturer
(7)获取屏幕分辨率
wmic DesktopMonitor where Status='ok' get ScreenHeight,ScreenWidth
 
 

2. 进程管理

(1)枚举所有进程的摘要
wmic process list brief
(2)枚举所有进程名称,PID,所占内存(单位:B)
wmic process get Name,ProcessId,PeakWorkingSetSize
(3)创建新进程"C:\Tencent\QQ\Bin\QQ.exe"
wmic process call create "c:\tencent\qq\bin\qq.exe"
(4)创建一个1分钟后重启的系统进程
wmic process call create "shutdown -r -f -t 60"
(5)终止名称为"qq.exe"的进程
wmic process where name="qq.exe" call terminate 或
wmic process where name="qq.exe" delete
(6)枚举出进程名为"qq.exe"的所有信息,并以键值对的形式显示
wmic process where name="qq.exe" list /format
(7)获取进程名为"qq.exe"的名称,PID和文件所在路径
wmic process where name="qq.exe" get name,processid,executablepath
(8)枚举出整个系统中所有非系统进程的名称和路径
wmic process where "not executablepath like '%windows%'" get name,executablepath
 
 

3. 账号管理

(1)列出本地所有用户的全部信息
wmic useraccount list full
(2)更改当前用户名为ROOT
wmic useraccount where "name='%username%'" call rename ROOT
(3)设置当前密码永不过期
wmic useraccount Where Name="%username%" set passwordexpires="false"
注意:wmic useraccount中虽然有“create”和“delete”参数,但无法对用户实现增加和删除
 
 

4. 共享管理

(1)列出本地的所有共享资源
wmic share list
(2)创建一个网络共享,路径为"c:\users",名称为"test",描述为"description"(需要管理员权限)
wmic share call create "","description","","test","","c:\users",1
(3)删除共享名为"test"的共享资源
wmic share where name="test" delete
(4)查看网络共享资源连接信息
wmic netuse list full
 
 

5. 服务管理

(1)获取正在运行的服务列表
wmic service where state="running" get caption,name,startmode
(2)更改telnet服务类型为自动(Auto)
[Auto(自动)][Disabled(禁用)][Manual(手动)]
wmic service where name="tlntsvr" set startmode="Auto"
(3)运行telnet服务
wmic service where name="tlntsvr" call startservice
(4)停止telnet服务
wmic service where name="tlntsvr" call stopservice
 
 

6. 目录管理

(1)列出c盘下所有名为test的目录
wmic fsdir where "dirve='c:' and filename='test'" list
(2)删除"c:\test"文件夹
wmic fsdir "c:\\test" call delete
(3)重命名"c:\test"文件名为"abc"
wmic fsdir "c:\\test" rename "c:\abc"
(4)复制"c:\abc"为"d:\test"
wmic fsdir "c:\\abc" copy "d:\test"
 
 

7. 文件管理

(1)查看"d:\game\a.mp4"的文件信息
wmic datafile where name="d:\\game\\a.mp4" get /format:list
(2)全盘搜索文件名为"qq.exe",并获取该文件的所在目录
wmic datafile where "filename='qq' and extension='exe'" get drive,path
 
 

8. 其他

(1)获取已安装的应用程序列表
wmic product get name
(2)获取驱动信息
wmic sysdriver get caption,name,pathname,servicetype,state,status /format:list
(3)获取操作系统的详情
wmic os get /format:list
(4)通过板载信息判断系统是否为虚拟机
wmic onboarddevice get description,devicetype,enabled
(5)枚举目标反病毒产品的信息
wmic /namespace:\\root\securitycenter2 path antivirusproduct get DisplayName,PathToSignedProductExe
(6)获取windows系统的补丁信息
wmic qfe get Caption,Description,HotFixID,InstalledOn
(7)查看自启动项
wmic startup get caption,command,location,user
(8)清除系统的日志记录(需要管理员权限)
wmic nteventlog where filename="system" cleareventlog
(9)远程执行命令,以管理员身份对192.168.1.56主机执行立即关机(需要在远程主机上关闭防火墙)
wmic /node:192.168.1.56 /password:"123456" /user:"administrator" process call create "cmd.exe /c shutdown -s -t 1"
注:wmic执行远程命令时并不是以会话形式执行,而是服务形式执行(RPC服务),所以在执行命令时,进程是在后台运行的却无法弹出。如远程执行打开notepad,可以查找出进程却无法显示。

DOS命令行(9)——wmic-系统管理命令行工具的更多相关文章

  1. (第四篇)Linux命令初识之常用系统管理命令

    1.hostname [命令作用]用于显示和设置系统的主机名称(但是不会永久保存,重启后会恢复) [命令语法]hostname(选项)(参数) [常用选项] -a:显示主机别名(alias name) ...

  2. 重学Python - Day 06 - python基础 -> linux命令行学习 -- 简单基础命令学习

    学习资源 虚拟机工具:VMWare 12 linux :Ubuntu 14 或者CentOS 6 PS:ubuntu用远程连接工具的设置方法 step 1: 输入sudo apt-get instal ...

  3. 转 DOS(CMD)下批处理换行问题/命令行参数换行 arg ms-dos

    DOS(CMD)下批处理换行问题本人经常写一些DOS批处理文件,由于批处理中命令的参考较多且长,写在一行太不容易分辨,所以总想找个办法把一条命令分行来写,今天终于试成功两种方法.一.在CMD下,可以用 ...

  4. 探索Windows命令行系列(2):命令行工具入门

    1.理论基础 1.1.命令行的前世今生 1.2.命令执行规则 1.3.使用命令历史 2.使用入门 2.1.启动和关闭命令行 2.2.执行简单的命令 2.3.命令行执行程序使用技巧 3.总结 1.理论基 ...

  5. Windows命令行command的Shell命令详细解析和语法

    CMD命令大全及详细解释和语法 Microsoft Windows XP [版本 5.1.2600] 有关某个命令的详细信息,请键入 HELP 命令名 ASSOC    显示或修改文件扩展名关联. A ...

  6. Linux命令行–更多bash shell命令(转)

    4.1.1 探查程序 ps 命令 默认情况下,ps命令只会显示运行在当前控制台下的属于当前用户进程的进程 显示的当前进程的项目 进程号 运行在哪个终端(tty) 进程占用的CPU时间 Linux系统支 ...

  7. Linux下的split 命令(将一个大文件根据行数平均分成若干个小文件)

    将一个大文件分成若干个小文件方法 例如将一个BLM.txt文件分成前缀为 BLM_ 的1000个小文件,后缀为系数形式,且后缀为4位数字形式 先利用 wc -l BLM.txt       读出 BL ...

  8. Linux 命令 - uniq: 通知或忽略重复行

    给定一个已排好序的文件,uniq 会删除重复行并将结果输出到标准输出中.uniq 通常与 sort 结合使用以删除 sort 输出内容中的重复行. 命令格式 uniq [OPTION]... [INP ...

  9. 7个基于Linux命令行的文件下载和网站浏览工具

    7个基于Linux命令行的文件下载和网站浏览工具 时间:2015-06-01 09:36来源:linux.cn 编辑:linux.cn 点击: 2282 次 Linux命令行是GNU/Linux中最神 ...

  10. 探索Windows命令行系列(3):命令行脚本基础

    1.实用功能 1.1.为脚本添加注释 1.2.控制命令的回显 1.3.使用数学表达式 1.4.向脚本传递参数 2.使用变量 2.1.变量的命名及定义 2.2.调用变量 2.3.变量的作用域 3.结构语 ...

随机推荐

  1. 前端实操案例丨如何实现JS向Vue传值

    摘要:项目开发过程中,组件通过render()函数渲染生成,并在组件内部定义了自定义拖拽指令.自定义拖拽指令规定了根据用户可以进行元素拖拽.缩放等一系列逻辑处理的动作. 本文分享自华为云社区<[ ...

  2. BUAA软件工程热身作业

    写在前面 项目 内容 所属课程 2020春季计算机学院软件工程(罗杰 任健) (北航) 作业要求 热身作业(阅读) 课程目标 培养软件开发能力 本作业对实现目标的具体作用 深入认识自己,总结过往并展望 ...

  3. mysql知识点归纳-执行计划篇

    愿历尽千帆,归来仍是少年 缘由: 优化sql,顾此记录一下,以便温习之用. 前置: sql执行过程:客户端 -> 连接器 -> 分析器 (或查询缓存 - > end) -> 优 ...

  4. [Java] Spring 原理

    IOC(Inverse of Control)控制反转 依赖对象的获得被反转了,由自己创建变为从IOC容器获取 优点 代码更简介,不需要new对象 面向接口编程,使用者与具体类解耦,易扩展 方便进行A ...

  5. [Linux] 完全卸载mysql

    参考 https://www.jianshu.com/p/ef58fb333cd6

  6. [c++] 分号的使用

    加分号的情况: 语句结束加分号(否则编译器不知道在哪里结束语句,编译器不识别换行,写代码时换行和退格只是为了看着舒服,但本质上代码是写给编译器看的) 声明语句后加分号(也是一种语句) 结构体.类定义后 ...

  7. Django/Flask的一些实现方法

    一.导出当前项目用到的依赖到requirements.txt文件中 pip freeze > requirements.txt 二.安装当前项目需要的依赖: pip install -r req ...

  8. 11.20 yum:自动化RPM包管理工具

    yum(Yellow dog Updater Modified)是多个Linux发行版的软件包管理器,例如Redhat RHEL.CentOS和Fedora.yum主要用于自动安装.升级rpm软件包, ...

  9. 5.6 date:显示与设置系统时间

    date命令 用于显示当前的系统时间或设置系统时间. date [选项] +[日期格式]   date命令的参数选项及说明 OPTION参数选项-d 时间字符串 显示指定字符串所描述的时间,而非当前时 ...

  10. 1 理解Linux系统的“平均负载”

    什么是平均负载 我们知道使用top或uptime可以用来了解系统的负载情况. uptime 2 02:34:03 up 2 days, 20:14, 1 user, load average: 0.6 ...