DOS命令行(9)——wmic-系统管理命令行工具
阅读原文时间:2021年06月25日阅读:1

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. 硬件管理

(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,可以查找出进程却无法显示。

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章