WMI的全称是Windows Management InstrumentationWindows管理规范),是微软在Windows操作系统中内置的一套管理框架和基础结构。
它就是Windows提供的一个统一“信息仓库”和“管理接口”,让管理员、脚本和应用程序能够用标准的方式获取系统的方方面面数据,甚至执行管理操作(比如重启服务、修改配置等)。

核心作用

  1. 信息查询:获取硬件型号、BIOS版本、磁盘容量、网络IP、进程列表等。
  2. 状态监控:实时读取CPU使用率、内存剩余、磁盘吞吐等性能数据。
  3. 系统配置与操作:可以创建/删除进程、启停服务、修改注册表等(部分操作需要权限)。
  4. 事件订阅:可以监听系统事件,比如“某个服务意外停止”、“磁盘空间不足”等。

组成

核心组件包括:

WMI服务 (Winmgmt):后台运行的Windows服务,负责处理请求。
WMI存储库:一个保存元数据定义(类、属性、方法)的数据库,启动时从各种提供程序加载。
WMI提供程序 (Provider):一个个特殊的驱动或DLL,它们负责从硬件驱动、注册表、驱动程序等地方收集真实数据,并暴露给WMI。比如“电池”、“磁盘”、“蓝牙”等都有各自的提供程序。
WMI类:数据被组织成“类”(类似于数据库的表),比如Win32_Processor、Win32_LogicalDisk,这些类有属性和方法。

常用WMI项

1. 系统信息类

WMI 类 含义 常用查询属性
Win32_NetworkAdapter 网络适配器 Name, Manufacturer, MACAddress, AdapterType, NetConnectionID, Speed, NetEnabled
Win32_NetworkAdapterConfiguration 网卡配置(IP/DHCP/DNS等) IPAddress, DefaultIPGateway, DNSServerSearchOrder, DHCPEnabled, MACAddress, IPSubnet
Win32_IP4RouteTable IPv4 路由表 Destination, Mask, NextHop, InterfaceIndex, Metric1

2. 处理器与内存

WMI 类 含义 常用查询属性
Win32_Processor CPU 处理器信息 Name, Caption, Manufacturer, MaxClockSpeed, NumberOfCores, NumberOfLogicalProcessors, Architecture, SocketDesignation
Win32_PhysicalMemory 物理内存条信息 Manufacturer, PartNumber, Capacity, Speed, MemoryType, FormFactor, SerialNumber
Win32_MemoryDevice 内存设备信息 DeviceLocator, MemoryType, Speed, TotalWidth

3. 磁盘与存储

WMI 类 含义 常用查询属性
Win32_DiskDrive 物理磁盘驱动器 Model, Manufacturer, Size, InterfaceType, SerialNumber, MediaType, Partitions
Win32_LogicalDisk 逻辑磁盘(分区/卷) DeviceID, DriveType, FileSystem, Size, FreeSpace, VolumeName
Win32_Volume 磁盘卷信息 DriveLetter, Label, FileSystem, Capacity, FreeSpace
Win32_DiskPartition 磁盘分区信息 Name, Size, Type, Bootable, BootPartition

4. 网络相关

WMI 类 含义 常用查询属性
Win32_NetworkAdapter 网络适配器 Name, Manufacturer, MACAddress, AdapterType, NetConnectionID, Speed, NetEnabled
Win32_NetworkAdapterConfiguration 网卡配置(IP/DHCP/DNS等) IPAddress, DefaultIPGateway, DNSServerSearchOrder, DHCPEnabled, MACAddress, IPSubnet
Win32_IP4RouteTable IPv4 路由表 Destination, Mask, NextHop, InterfaceIndex, Metric1

5. 显示与显卡

WMI 类 含义 常用查询属性
Win32_VideoController 显卡/显示控制器 Name, DriverVersion, DriverDate, AdapterRAM, CurrentHorizontalResolution, CurrentVerticalResolution, CurrentRefreshRate
Win32_DesktopMonitor 显示器 Name, MonitorManufacturerName, ScreenWidth, ScreenHeight

6. 外围设备

WMI 类 含义 常用查询属性
Win32_Keyboard 键盘 Name, Description, DeviceID
Win32_PointingDevice 鼠标/触控板等指点设备 Name, Manufacturer, HardwareType, DeviceInterface
Win32_Printer 打印机 Name, DriverName, PortName, Default, Local, Network, Shared
Win32_SoundDevice 声卡/音频设备 Name, Manufacturer, Status
Win32_USBController USB 控制器 Name, Manufacturer, DeviceID
Win32_USBHub USB 集线器 Name, DeviceID

7. 软件与服务

WMI 类 含义 常用查询属性
Win32_Service Windows 服务 Name, DisplayName, State, StartMode, StartName, PathName
Win32_Process 正在运行的进程 Name, ProcessId, CommandLine, ExecutablePath, WorkingSetSize, ThreadCount
Win32_Product 已安装的软件产品(MSI) Name, Vendor, Version, InstallDate, IdentifyingNumber
Win32_StartupCommand 开机自启动项 Name, Command, Location, User
Win32_QuickFixEngineering 已安装的 Windows 更新/补丁 HotFixID, Description, InstalledOn, InstalledBy

8. 用户与账户

WMI 类 含义 常用查询属性
Win32_UserAccount 本地用户账户 Name, FullName, SID, Disabled, Lockout, PasswordRequired
Win32_Group 本地组 Name, SID, Domain
Win32_GroupUser 组与用户的隶属关系 GroupComponent, PartComponent
Win32_LogonSession 登录会话 LogonId, AuthenticationPackage, LogonType, StartTime

9. 事件与日志

WMI 类 含义 常用查询属性
Win32_NTLogEvent Windows 事件日志 Logfile, Type, EventCode, Message, TimeGenerated, SourceName, User
Win32_ComputerShutdownEvent 计算机关机事件 MachineName, Type, TimeGenerated

10. 性能相关

WMI 类 含义 说明
Win32_PerfFormattedData_PerfOS_Processor 处理器性能计数器 PercentProcessorTime, PercentIdleTime
Win32_PerfFormattedData_PerfOS_Memory 内存性能计数器 AvailableMBytes, CommittedBytes, PagesPerSec
Win32_PerfFormattedData_PerfDisk_LogicalDisk 逻辑磁盘性能 DiskReadBytesPerSec, DiskWriteBytesPerSec
Win32_PerfFormattedData_Tcpip_NetworkInterface 网卡性能 BytesTotalPerSec, CurrentBandwidth