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 指定连接的 <授权类型>。
/?[:
有关特定全局开关的详细信息,请键入: 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)获取磁盘的信息(标题、接口、容量(单位: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
(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
(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”参数,但无法对用户实现增加和删除
(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
(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
(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"
(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
(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,可以查找出进程却无法显示。
手机扫一扫
移动阅读更方便
你可能感兴趣的文章