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,可以查找出进程却无法显示。
- (第四篇)Linux命令初识之常用系统管理命令
1.hostname [命令作用]用于显示和设置系统的主机名称(但是不会永久保存,重启后会恢复) [命令语法]hostname(选项)(参数) [常用选项] -a:显示主机别名(alias name) ...
- 重学Python - Day 06 - python基础 -> linux命令行学习 -- 简单基础命令学习
学习资源 虚拟机工具:VMWare 12 linux :Ubuntu 14 或者CentOS 6 PS:ubuntu用远程连接工具的设置方法 step 1: 输入sudo apt-get instal ...
- 转 DOS(CMD)下批处理换行问题/命令行参数换行 arg ms-dos
DOS(CMD)下批处理换行问题本人经常写一些DOS批处理文件,由于批处理中命令的参考较多且长,写在一行太不容易分辨,所以总想找个办法把一条命令分行来写,今天终于试成功两种方法.一.在CMD下,可以用 ...
- 探索Windows命令行系列(2):命令行工具入门
1.理论基础 1.1.命令行的前世今生 1.2.命令执行规则 1.3.使用命令历史 2.使用入门 2.1.启动和关闭命令行 2.2.执行简单的命令 2.3.命令行执行程序使用技巧 3.总结 1.理论基 ...
- Windows命令行command的Shell命令详细解析和语法
CMD命令大全及详细解释和语法 Microsoft Windows XP [版本 5.1.2600] 有关某个命令的详细信息,请键入 HELP 命令名 ASSOC 显示或修改文件扩展名关联. A ...
- Linux命令行–更多bash shell命令(转)
4.1.1 探查程序 ps 命令 默认情况下,ps命令只会显示运行在当前控制台下的属于当前用户进程的进程 显示的当前进程的项目 进程号 运行在哪个终端(tty) 进程占用的CPU时间 Linux系统支 ...
- Linux下的split 命令(将一个大文件根据行数平均分成若干个小文件)
将一个大文件分成若干个小文件方法 例如将一个BLM.txt文件分成前缀为 BLM_ 的1000个小文件,后缀为系数形式,且后缀为4位数字形式 先利用 wc -l BLM.txt 读出 BL ...
- Linux 命令 - uniq: 通知或忽略重复行
给定一个已排好序的文件,uniq 会删除重复行并将结果输出到标准输出中.uniq 通常与 sort 结合使用以删除 sort 输出内容中的重复行. 命令格式 uniq [OPTION]... [INP ...
- 7个基于Linux命令行的文件下载和网站浏览工具
7个基于Linux命令行的文件下载和网站浏览工具 时间:2015-06-01 09:36来源:linux.cn 编辑:linux.cn 点击: 2282 次 Linux命令行是GNU/Linux中最神 ...
- 探索Windows命令行系列(3):命令行脚本基础
1.实用功能 1.1.为脚本添加注释 1.2.控制命令的回显 1.3.使用数学表达式 1.4.向脚本传递参数 2.使用变量 2.1.变量的命名及定义 2.2.调用变量 2.3.变量的作用域 3.结构语 ...
随机推荐
- Spring cloud 基础框架集成
Spring cloud 基础框架集成 1. 注册中心 -eurekar 1. pom依赖 <?xml version="1.0" encoding="UTF-8& ...
- 【Redis破障之路】四:Jedis基本使用
在前面我们已经学习了Redis命令行客户端redis-cli的使用,接下来我们了解一下Redis基于Java编程语言的客户端. 在Java语言体系下,有三个常用的Redis客户端Jedis.Redis ...
- Beta——发布声明
Beta阶段 1. 新功能: 介绍页面 用户点击软件右上角的 ? 按钮即可看到软件的操作说明! 项目模式 目前软件支持三种模式 空白表单模式.该模式可以生成基于模板的表单数据,也支持生成数据直接训练模 ...
- golang:函数总结
golang保留的函数 init(), main()是golang的保留函数,有如下特点: main() 只能用在main包中,仅可定义一个,init() 可定义任意包,可重复定义,建议只定义一个 两 ...
- [bug] IDEA编译时出现 Information:java: javacTask: 源发行版 1.8 需要目标发行版 1.8
原因 jdk版本选低了 解决 将以下几处jdk版本修改为1.8 Project Structure(File->Project Structure...)>Sources>Langu ...
- top命令查看CPU状态信息:%us、%sy、%ni、%id、%wa、%hi、%si、%st 表示的是什么意思
Linux CPU负载状态:%us/%sy/%ni/%id/%wa/%hi/%si/%st含义 2018-08-26 分类:Linux 评论(0) 缙哥哥发现用了雅黑的探针,在 Linux 的 C ...
- Python检查 文件备份是否正常 云备份进程是否正常运行
场景:服务器自动备份数据库文件,每两小时生成一个新备份文件,通过云备份客户端自动上传,需要每天检查是否备份成功. 实现:本脚本实现检查文件是否备份成功,进程是否正常运行,并且发送相关邮件提醒. #! ...
- 更换介质:请把标有Debian ... 的盘片插入驱动器
Debian安装软件报错如下: 更换介质:请把标有 "Debian GNU/Linux 10.8.0 _Buster_ - Official amd64 DVD Binary-1 20210 ...
- RabbitMQ 集群原理
RabbitMQ默认集群原理 rabbitmq 本身是基于erlang编写,erlang语言天生具备分布式的特性(通过同步Erlang集群各节点的erlang cookie实现),RabbiteMQ天 ...
- xml 解析之 JDOM解析
JDOM 是一种使用 XML 的独特 Java 工具包,用于快速开发 XML 应用程序.JDOM 是一个开源项目,它基于树形结构,利用纯 Java 的技术对 XML 文档实现解析.生成.序列化及多种操 ...