基于WMI获取USB设备信息(即获取插即用设备信息)System.Management.ManagementObjectSearcher--ManagementObjectCollection
获取PC上的设备信息
public static void TestUsbDevice() { ushort ProductID = 0xE002, VendorID = 0x0471; PnPEntityInfo[] UsbDevices = UsbHelper.WhoUsbDevice(VendorID, ProductID); foreach (var item in UsbDevices) { Console.WriteLine($"{item}"); } } /// <summary> /// 即插即用设备信息结构 /// </summary> public struct PnPEntityInfo { public string PNPDeviceID; // 设备ID public string Name; // 设备名称 public string Description; // 设备描述 public string Service; // 服务 public string Status; // 设备状态 public ushort VendorID; // 供应商标识 public ushort ProductID; // 产品编号 public Guid ClassGuid; // 设备安装类GUID } /// <summary> /// 基于WMI获取USB设备信息 /// </summary> public partial class UsbHelper { #region UsbDevice /// <summary> /// 获取所有的USB设备实体(过滤没有VID和PID的设备) /// </summary> public static PnPEntityInfo[] AllUsbDevices { get { return WhoUsbDevice(ushort.MinValue, ushort.MinValue, Guid.Empty); } } /// <summary> /// 查询USB设备实体(设备要求有VID和PID) /// </summary> /// <param name="VendorID">供应商标识,MinValue忽视</param> /// <param name="ProductID">产品编号,MinValue忽视</param> /// <param name="ClassGuid">设备安装类Guid,Empty忽视</param> /// <returns>设备列表</returns> public static PnPEntityInfo[] WhoUsbDevice(ushort VendorID, ushort ProductID, Guid ClassGuid) { List<PnPEntityInfo> UsbDevices = new List<PnPEntityInfo>(); ManagementObjectCollection PnPEntityCollections = new ManagementObjectSearcher("SELECT * FROM Win32_PnPEntity").Get(); if (PnPEntityCollections != null) { foreach (ManagementObject Entity in PnPEntityCollections) { Console.WriteLine($"{Entity}"); } } ManagementObjectCollection USBControllerDeviceCollections = new ManagementObjectSearcher("SELECT * FROM Win32_USBControllerDevice").Get(); if (USBControllerDeviceCollections != null) { var d = USBControllerDeviceCollections.OfType<ManagementObject>(); foreach (ManagementObject USBControllerDevice in USBControllerDeviceCollections) { Console.WriteLine($"{USBControllerDevice}"); } } // 获取USB控制器及其相关联的设备实体 ManagementObjectCollection USBControllerDeviceCollection = new ManagementObjectSearcher("SELECT * FROM Win32_USBControllerDevice").Get(); if (USBControllerDeviceCollection != null) { var d = USBControllerDeviceCollection.OfType<ManagementObject>(); foreach (ManagementObject USBControllerDevice in USBControllerDeviceCollection) { // 获取设备实体的DeviceID string Dependent = (USBControllerDevice["Dependent"] as string).Split(new char[] { '=' })[1]; // 过滤掉没有VID和PID的USB设备 Match match = Regex.Match(Dependent, "VID_[0-9|A-F]{4}&PID_[0-9|A-F]{4}"); if (match.Success) { ushort theVendorID = Convert.ToUInt16(match.Value.Substring(4, 4), 16); // 供应商标识 if (VendorID != ushort.MinValue && VendorID != theVendorID) continue; ushort theProductID = Convert.ToUInt16(match.Value.Substring(13, 4), 16); // 产品编号 if (ProductID != ushort.MinValue && ProductID != theProductID) continue; ManagementObjectCollection PnPEntityCollection = new ManagementObjectSearcher("SELECT * FROM Win32_PnPEntity WHERE DeviceID=" + Dependent).Get(); if (PnPEntityCollection != null) { foreach (ManagementObject Entity in PnPEntityCollection) { Guid theClassGuid = new Guid(Entity["ClassGuid"] as string); // 设备安装类GUID if (ClassGuid != Guid.Empty && ClassGuid != theClassGuid) continue; PnPEntityInfo Element; Element.PNPDeviceID = Entity["PNPDeviceID"] as string; // 设备ID Element.Name = Entity["Name"] as string; // 设备名称 Element.Description = Entity["Description"] as string; // 设备描述 Element.Service = Entity["Service"] as string; // 服务 Element.Status = Entity["Status"] as string; // 设备状态 Element.VendorID = theVendorID; // 供应商标识 Element.ProductID = theProductID; // 产品编号 Element.ClassGuid = theClassGuid; // 设备安装类GUID UsbDevices.Add(Element); } } } } } if (UsbDevices.Count == 0) return null; else return UsbDevices.ToArray(); } /// <summary> /// 查询USB设备实体(设备要求有VID和PID) /// </summary> /// <param name="VendorID">供应商标识,MinValue忽视</param> /// <param name="ProductID">产品编号,MinValue忽视</param> /// <returns>设备列表</returns> public static PnPEntityInfo[] WhoUsbDevice(ushort VendorID, ushort ProductID) { return WhoUsbDevice(VendorID, ProductID, Guid.Empty); } /// <summary> /// 查询USB设备实体(设备要求有VID和PID) /// </summary> /// <param name="ClassGuid">设备安装类Guid,Empty忽视</param> /// <returns>设备列表</returns> public static PnPEntityInfo[] WhoUsbDevice(Guid ClassGuid) { return WhoUsbDevice(ushort.MinValue, ushort.MinValue, ClassGuid); } /// <summary> /// 查询USB设备实体(设备要求有VID和PID) /// </summary> /// <param name="PNPDeviceID">设备ID,可以是不完整信息</param> /// <returns>设备列表</returns> public static PnPEntityInfo[] WhoUsbDevice(string PNPDeviceID) { List<PnPEntityInfo> UsbDevices = new List<PnPEntityInfo>(); // 获取USB控制器及其相关联的设备实体 ManagementObjectCollection USBControllerDeviceCollection = new ManagementObjectSearcher("SELECT * FROM Win32_USBControllerDevice").Get(); if (USBControllerDeviceCollection != null) { foreach (ManagementObject USBControllerDevice in USBControllerDeviceCollection) { // 获取设备实体的DeviceID string Dependent = (USBControllerDevice["Dependent"] as string).Split(new char[] { '=' })[1]; if (!string.IsNullOrEmpty(PNPDeviceID)) { // 注意:忽视大小写 if (Dependent.IndexOf(PNPDeviceID, 1, PNPDeviceID.Length - 2, StringComparison.OrdinalIgnoreCase) == -1) continue; } // 过滤掉没有VID和PID的USB设备 Match match = Regex.Match(Dependent, "VID_[0-9|A-F]{4}&PID_[0-9|A-F]{4}"); if (match.Success) { ManagementObjectCollection PnPEntityCollection = new ManagementObjectSearcher("SELECT * FROM Win32_PnPEntity WHERE DeviceID=" + Dependent).Get(); if (PnPEntityCollection != null) { foreach (ManagementObject Entity in PnPEntityCollection) { PnPEntityInfo Element; Element.PNPDeviceID = Entity["PNPDeviceID"] as string; // 设备ID Element.Name = Entity["Name"] as string; // 设备名称 Element.Description = Entity["Description"] as string; // 设备描述 Element.Service = Entity["Service"] as string; // 服务 Element.Status = Entity["Status"] as string; // 设备状态 Element.VendorID = Convert.ToUInt16(match.Value.Substring(4, 4), 16); // 供应商标识 Element.ProductID = Convert.ToUInt16(match.Value.Substring(13, 4), 16); // 产品编号 // 产品编号 Element.ClassGuid = new Guid(Entity["ClassGuid"] as string); // 设备安装类GUID UsbDevices.Add(Element); } } } } } if (UsbDevices.Count == 0) return null; else return UsbDevices.ToArray(); } /// <summary> /// 根据服务定位USB设备 /// </summary> /// <param name="ServiceCollection">要查询的服务集合</param> /// <returns>设备列表</returns> public static PnPEntityInfo[] WhoUsbDevice(string[] ServiceCollection) { if (ServiceCollection == null || ServiceCollection.Length == 0) return WhoUsbDevice(ushort.MinValue, ushort.MinValue, Guid.Empty); List<PnPEntityInfo> UsbDevices = new List<PnPEntityInfo>(); // 获取USB控制器及其相关联的设备实体 ManagementObjectCollection USBControllerDeviceCollection = new ManagementObjectSearcher("SELECT * FROM Win32_USBControllerDevice").Get(); if (USBControllerDeviceCollection != null) { foreach (ManagementObject USBControllerDevice in USBControllerDeviceCollection) { // 获取设备实体的DeviceID string Dependent = (USBControllerDevice["Dependent"] as string).Split(new char[] { '=' })[1]; // 过滤掉没有VID和PID的USB设备 Match match = Regex.Match(Dependent, "VID_[0-9|A-F]{4}&PID_[0-9|A-F]{4}"); if (match.Success) { ManagementObjectCollection PnPEntityCollection = new ManagementObjectSearcher("SELECT * FROM Win32_PnPEntity WHERE DeviceID=" + Dependent).Get(); if (PnPEntityCollection != null) { foreach (ManagementObject Entity in PnPEntityCollection) { string theService = Entity["Service"] as string; // 服务 if (string.IsNullOrEmpty(theService)) continue; foreach (string Service in ServiceCollection) { // 注意:忽视大小写 if (string.Compare(theService, Service, true) != 0) continue; PnPEntityInfo Element; Element.PNPDeviceID = Entity["PNPDeviceID"] as string; // 设备ID Element.Name = Entity["Name"] as string; // 设备名称 Element.Description = Entity["Description"] as string; // 设备描述 Element.Service = theService; // 服务 Element.Status = Entity["Status"] as string; // 设备状态 Element.VendorID = Convert.ToUInt16(match.Value.Substring(4, 4), 16); // 供应商标识 Element.ProductID = Convert.ToUInt16(match.Value.Substring(13, 4), 16); // 产品编号 Element.ClassGuid = new Guid(Entity["ClassGuid"] as string); // 设备安装类GUID UsbDevices.Add(Element); break; } } } } } } if (UsbDevices.Count == 0) return null; else return UsbDevices.ToArray(); } #endregion #region PnPEntity /// <summary> /// 所有即插即用设备实体(过滤没有VID和PID的设备) /// </summary> public static PnPEntityInfo[] AllPnPEntities { get { return WhoPnPEntity(ushort.MinValue, ushort.MinValue, Guid.Empty); } } /// <summary> /// 根据VID和PID及设备安装类GUID定位即插即用设备实体 /// </summary> /// <param name="VendorID">供应商标识,MinValue忽视</param> /// <param name="ProductID">产品编号,MinValue忽视</param> /// <param name="ClassGuid">设备安装类Guid,Empty忽视</param> /// <returns>设备列表</returns> /// <remarks> /// HID:{745a17a0-74d3-11d0-b6fe-00a0c90f57da} /// Imaging Device:{6bdd1fc6-810f-11d0-bec7-08002be2092f} /// Keyboard:{4d36e96b-e325-11ce-bfc1-08002be10318} /// Mouse:{4d36e96f-e325-11ce-bfc1-08002be10318} /// Network Adapter:{4d36e972-e325-11ce-bfc1-08002be10318} /// USB:{36fc9e60-c465-11cf-8056-444553540000} /// </remarks> public static PnPEntityInfo[] WhoPnPEntity(ushort VendorID, ushort ProductID, Guid ClassGuid) { List<PnPEntityInfo> PnPEntities = new List<PnPEntityInfo>(); // 枚举即插即用设备实体 string VIDPID; if (VendorID == ushort.MinValue) { if (ProductID == ushort.MinValue) VIDPID = "'%VID[_]____&PID[_]____%'"; else VIDPID = "'%VID[_]____&PID[_]" + ProductID.ToString("X4") + "%'"; } else { if (ProductID == ushort.MinValue) VIDPID = "'%VID[_]" + VendorID.ToString("X4") + "&PID[_]____%'"; else VIDPID = "'%VID[_]" + VendorID.ToString("X4") + "&PID[_]" + ProductID.ToString("X4") + "%'"; } string QueryString; if (ClassGuid == Guid.Empty) QueryString = "SELECT * FROM Win32_PnPEntity WHERE PNPDeviceID LIKE" + VIDPID; else QueryString = "SELECT * FROM Win32_PnPEntity WHERE PNPDeviceID LIKE" + VIDPID + " AND ClassGuid='" + ClassGuid.ToString("B") + "'"; ManagementObjectCollection PnPEntityCollection = new ManagementObjectSearcher(QueryString).Get(); if (PnPEntityCollection != null) { foreach (ManagementObject Entity in PnPEntityCollection) { string PNPDeviceID = Entity["PNPDeviceID"] as string; Match match = Regex.Match(PNPDeviceID, "VID_[0-9|A-F]{4}&PID_[0-9|A-F]{4}"); if (match.Success) { PnPEntityInfo Element; Element.PNPDeviceID = PNPDeviceID; // 设备ID Element.Name = Entity["Name"] as string; // 设备名称 Element.Description = Entity["Description"] as string; // 设备描述 Element.Service = Entity["Service"] as string; // 服务 Element.Status = Entity["Status"] as string; // 设备状态 Element.VendorID = Convert.ToUInt16(match.Value.Substring(4, 4), 16); // 供应商标识 Element.ProductID = Convert.ToUInt16(match.Value.Substring(13, 4), 16); // 产品编号 Element.ClassGuid = new Guid(Entity["ClassGuid"] as string); // 设备安装类GUID PnPEntities.Add(Element); } } } if (PnPEntities.Count == 0) return null; else return PnPEntities.ToArray(); } /// <summary> /// 根据VID和PID定位即插即用设备实体 /// </summary> /// <param name="VendorID">供应商标识,MinValue忽视</param> /// <param name="ProductID">产品编号,MinValue忽视</param> /// <returns>设备列表</returns> public static PnPEntityInfo[] WhoPnPEntity(ushort VendorID, ushort ProductID) { return WhoPnPEntity(VendorID, ProductID, Guid.Empty); } /// <summary> /// 根据设备安装类GUID定位即插即用设备实体 /// </summary> /// <param name="ClassGuid">设备安装类Guid,Empty忽视</param> /// <returns>设备列表</returns> public static PnPEntityInfo[] WhoPnPEntity(Guid ClassGuid) { return WhoPnPEntity(ushort.MinValue, ushort.MinValue, ClassGuid); } /// <summary> /// 根据设备ID定位设备 /// </summary> /// <param name="PNPDeviceID">设备ID,可以是不完整信息</param> /// <returns>设备列表</returns> /// <remarks> /// 注意:对于下划线,需要写成“[_]”,否则视为任意字符 /// </remarks> public static PnPEntityInfo[] WhoPnPEntity(string PNPDeviceID) { List<PnPEntityInfo> PnPEntities = new List<PnPEntityInfo>(); // 枚举即插即用设备实体 string QueryString; if (string.IsNullOrEmpty(PNPDeviceID)) { QueryString = "SELECT * FROM Win32_PnPEntity WHERE PNPDeviceID LIKE '%VID[_]____&PID[_]____%'"; } else { // LIKE子句中有反斜杠字符将会引发WQL查询异常 QueryString = "SELECT * FROM Win32_PnPEntity WHERE PNPDeviceID LIKE '%" + PNPDeviceID.Replace('\', '_') + "%'"; } ManagementObjectCollection PnPEntityCollection = new ManagementObjectSearcher(QueryString).Get(); if (PnPEntityCollection != null) { foreach (ManagementObject Entity in PnPEntityCollection) { string thePNPDeviceID = Entity["PNPDeviceID"] as string; Match match = Regex.Match(thePNPDeviceID, "VID_[0-9|A-F]{4}&PID_[0-9|A-F]{4}"); if (match.Success) { PnPEntityInfo Element; Element.PNPDeviceID = thePNPDeviceID; // 设备ID Element.Name = Entity["Name"] as string; // 设备名称 Element.Description = Entity["Description"] as string; // 设备描述 Element.Service = Entity["Service"] as string; // 服务 Element.Status = Entity["Status"] as string; // 设备状态 Element.VendorID = Convert.ToUInt16(match.Value.Substring(4, 4), 16); // 供应商标识 Element.ProductID = Convert.ToUInt16(match.Value.Substring(13, 4), 16); // 产品编号 Element.ClassGuid = new Guid(Entity["ClassGuid"] as string); // 设备安装类GUID PnPEntities.Add(Element); } } } if (PnPEntities.Count == 0) return null; else return PnPEntities.ToArray(); } /// <summary> /// 根据服务定位设备 /// </summary> /// <param name="ServiceCollection">要查询的服务集合,null忽视</param> /// <returns>设备列表</returns> /// <remarks> /// 跟服务相关的类: /// Win32_SystemDriverPNPEntity /// Win32_SystemDriver /// </remarks> public static PnPEntityInfo[] WhoPnPEntity(string[] ServiceCollection) { if (ServiceCollection == null || ServiceCollection.Length == 0) return WhoPnPEntity(ushort.MinValue, ushort.MinValue, Guid.Empty); List<PnPEntityInfo> PnPEntities = new List<PnPEntityInfo>(); // 枚举即插即用设备实体 string QueryString = "SELECT * FROM Win32_PnPEntity WHERE PNPDeviceID LIKE '%VID[_]____&PID[_]____%'"; ManagementObjectCollection PnPEntityCollection = new ManagementObjectSearcher(QueryString).Get(); if (PnPEntityCollection != null) { foreach (ManagementObject Entity in PnPEntityCollection) { string PNPDeviceID = Entity["PNPDeviceID"] as string; Match match = Regex.Match(PNPDeviceID, "VID_[0-9|A-F]{4}&PID_[0-9|A-F]{4}"); if (match.Success) { string theService = Entity["Service"] as string; // 服务 if (string.IsNullOrEmpty(theService)) continue; foreach (string Service in ServiceCollection) { // 注意:忽视大小写 if (string.Compare(theService, Service, true) != 0) continue; PnPEntityInfo Element; Element.PNPDeviceID = PNPDeviceID; // 设备ID Element.Name = Entity["Name"] as string; // 设备名称 Element.Description = Entity["Description"] as string; // 设备描述 Element.Service = theService; // 服务 Element.Status = Entity["Status"] as string; // 设备状态 Element.VendorID = Convert.ToUInt16(match.Value.Substring(4, 4), 16); // 供应商标识 Element.ProductID = Convert.ToUInt16(match.Value.Substring(13, 4), 16); // 产品编号 Element.ClassGuid = new Guid(Entity["ClassGuid"] as string); // 设备安装类GUID PnPEntities.Add(Element); break; } } } } if (PnPEntities.Count == 0) return null; else return PnPEntities.ToArray(); } #endregion } //public enum HardwareEnum //{ // // 硬件 // Win32_Processor, // CPU 处理器 // Win32_PhysicalMemory, // 物理内存条 // Win32_Keyboard, // 键盘 // Win32_PointingDevice, // 点输入设备,包括鼠标。 // Win32_FloppyDrive, // 软盘驱动器 // Win32_DiskDrive, // 硬盘驱动器 // Win32_CDROMDrive, // 光盘驱动器 // Win32_BaseBoard, // 主板 // Win32_BIOS, // BIOS 芯片 // Win32_ParallelPort, // 并口 // Win32_SerialPort, // 串口 // Win32_SerialPortConfiguration, // 串口配置 // Win32_SoundDevice, // 多媒体设置,一般指声卡。 // Win32_SystemSlot, // 主板插槽 (ISA & PCI & AGP) // Win32_USBController, // USB 控制器 // Win32_NetworkAdapter, // 网络适配器 // Win32_NetworkAdapterConfiguration, // 网络适配器设置 // Win32_Printer, // 打印机 // Win32_PrinterConfiguration, // 打印机设置 // Win32_PrintJob, // 打印机任务 // Win32_TCPIPPrinterPort, // 打印机端口 // Win32_POTSModem, // MODEM // Win32_POTSModemToSerialPort, // MODEM 端口 // Win32_DesktopMonitor, // 显示器 // Win32_DisplayConfiguration, // 显卡 // Win32_DisplayControllerConfiguration, // 显卡设置 // Win32_VideoController, // 显卡细节。 // Win32_VideoSettings, // 显卡支持的显示模式。 // // 操作系统 // Win32_TimeZone, // 时区 // Win32_SystemDriver, // 驱动程序 // Win32_DiskPartition, // 磁盘分区 // Win32_LogicalDisk, // 逻辑磁盘 // Win32_LogicalDiskToPartition, // 逻辑磁盘所在分区及始末位置。 // Win32_LogicalMemoryConfiguration, // 逻辑内存配置 // Win32_PageFile, // 系统页文件信息 // Win32_PageFileSetting, // 页文件设置 // Win32_BootConfiguration, // 系统启动配置 // Win32_ComputerSystem, // 计算机信息简要 // Win32_OperatingSystem, // 操作系统信息 // Win32_StartupCommand, // 系统自动启动程序 // Win32_Service, // 系统安装的服务 // Win32_Group, // 系统管理组 // Win32_GroupUser, // 系统组帐号 // Win32_UserAccount, // 用户帐号 // Win32_Process, // 系统进程 // Win32_Thread, // 系统线程 // Win32_Share, // 共享 // Win32_NetworkClient, // 已安装的网络客户端 // Win32_NetworkProtocol, // 已安装的网络协议 // Win32_PnPEntity, //all device //} //如果是设备字符串中存在COM,则保存该字符串,则找到串口名。 //private static string[] GetHarewareInfo(HardwareEnum hardType, string propKey) //{ // List<string> strs = new List<string>(); // try // { // using (ManagementObjectSearcher searcher = new ManagementObjectSearcher("select * from " + hardType)) // { // var hardInfos = searcher.Get(); // foreach (var hardInfo in hardInfos) // { // if (hardInfo.Properties[propKey].Value != null) // { // String str = hardInfo.Properties[propKey].Value.ToString(); // if (str.Contains("COM")) // { // strs.Add(str); // } // } // } // } // return strs.ToArray(); // } // catch // { // //MessageBox.Show("硬件端口查找错误", "程序猿的提示", MessageBoxButtons.OK, MessageBoxIcon.Error); // return null; // } // finally // { // strs = null; // } //}
WMI使用的WIN32_类库名
WMI使用的WIN32_类库名 包括:硬件类、操作系统类、安装应用程序类、WMI服务管理类、性能计数器类 1、硬件类 冷却类别 Win32_Fan--风扇 Win32_HeatPipe--热管 Win32_Refrigeration--致冷 Win32_TemperatureProbe--温度传感 输入设备类别 Win32_Keyboard--键盘 Win32_PointingDevice--指示设备(如鼠标) 大容量存储类别 Win32_AutochkSetting--磁盘自动检查操作设置 Win32_CDROMDrive--光盘驱动器 Win32_DiskDrive--硬盘驱动器 Win32_FloppyDrive--软盘驱动器 Win32_PhysicalMedia--物理媒体 Win32_TapeDrive--磁带驱动器 主板、控制器、端口类别 Win32_1394Controller--1394控制器 Win32_1394ControllerDevice--1394控制器设备 Win32_AllocatedResource--已分配的资源 Win32_AssociatedProcessorMemory--处理器和高速缓冲存储器 Win32_BaseBoard--主板 Win32_BIOS--BIOS(基本输入输出系统) Win32_Bus--总线 Win32_CacheMemory--缓存内存 Win32_ControllerHasHub--USB控制器 Win32_DeviceBus--设备总线 Win32_DeviceMemoryAddress--设备存储器地址 Win32_DeviceSettings--设备设置 Win32_DMAChannel--DMA通道 Win32_FloppyController--软盘控制器 Win32_IDEController--IDE控制器 Win32_IDEControllerDevice--IDE控制器设备 Win32_InfraredDevice--红外线设备 Win32_IRQResource--中断(IRQ)资源 Win32_MemoryArray--内存数组 Win32_MemoryArrayLocation--内存数组位置 Win32_MemoryDevice--内存设备 Win32_MemoryDeviceArray--内存设备数组 Win32_MemoryDeviceLocation--内存设备位置 Win32_MotherboardDevice--主板设备 Win32_OnBoardDevice--插件设备 Win32_ParallelPort--并行端口 Win32_PCMCIAController--PCMCIA控制器 Win32_PhysicalMemory--物理内存 Win32_PhysicalMemoryArray--物理内存数组 Win32_PhysicalMemoryLocation--物理内存位置 Win32_PNPAllocatedResource--PNP保留资源 Win32_PNPDevice--PNP设备 Win32_PNPEntity--PNP实体 Win32_PortConnector--端口连接器 Win32_PortResource--端口资源 Win32_Processor--(CPU)处理器 Win32_SCSIController--SCSI控制器 Win32_SCSIControllerDevice--SCSI控制器设备 Win32_SerialPort--串行端口 Win32_SerialPortConfiguration--串行端口配置 Win32_SerialPortSetting--串行端口设置 Win32_SMBIOSMemory--内存有关的设备的管理 Win32_SoundDevice--声卡 Win32_SystemBIOS--系统BIOS Win32_SystemDriverPNPEntity--系统驱动器PNP实体 Win32_SystemEnclosure--系统封闭 Win32_SystemMemoryResource--系统内存资源 Win32_SystemSlot--系统插槽 Win32_USBController--USB控制器 Win32_USBControllerDevice--USB控制器设备 Win32_USBHub--USB集线器 建网设备类别 Win32_NetworkAdapter--网络适配器 Win32_NetworkAdapterConfiguration--网络适配器配置 Win32_NetworkAdapterSetting--网络适配器设置 电源类别 Win32_AssociatedBattery--联合电池组 Win32_Battery--电池 Win32_CurrentProbe--当前传感 Win32_PortableBattery--便携式电池 Win32_PowerManagementEvent--电池事件管理 Win32_UninterruptiblePowerSupply--UPS电源 Win32_VoltageProbe--电压探测 打印类别 Win32_DriverForDevice--驱动器设备 Win32_Printer--打印机 Win32_PrinterConfiguration--打印机配置 Win32_PrinterController--打印机控制器 Win32_PrinterDriver--打印机驱动器 Win32_PrinterDriverDll--打印机驱动器DLL Win32_PrinterSetting--打印机设置 Win32_PrintJob--打印工作 Win32_TCPIPPrinterPort--TCPIP打印机端口 电话类别 Win32_POTSModem--POTS调制解调器(Modem) Win32_POTSModemToSerialPort--POTS调制解调器串行端口 视频监视器类别 Win32_DesktopMonitor--即插即用监视器 Win32_DisplayConfiguration--显示配置 Win32_DisplayControllerConfiguration--显示控制器配置 Win32_VideoConfiguration--视频配置 Win32_VideoController--视频控制器 Win32_VideoSettings--视频设置 2、操作系统类 COM类别 Win32_ClassicCOMApplicationClasses-- Win32_ClassicCOMClass-- Win32_ClassicCOMClassSettings-- Win32_ClientApplicationSetting-- Win32_COMApplication--COM应用 Win32_COMApplicationClasses-- Win32_COMApplicationSettings-- Win32_COMClass-- Win32_ComClassAutoEmulator-- Win32_ComClassEmulator-- Win32_ComponentCategory-- Win32_COMSetting-- Win32_DCOMApplication--DCOM应用 Win32_DCOMApplicationAccessAllowedSetting-- Win32_DCOMApplicationSetting-- Win32_ImplementedCategory-- 桌面类别 Win32_Desktop--桌面 Win32_Environment--环境 Win32_TimeZone--时区 Win32_UserDesktop--使用者桌面 驱动程序类别 Win32_DriverVXD-- Win32_SystemDriver--系统驱动程序 文件系统类别 Win32_CIMLogicalDeviceCIMDataFile-- Win32_Directory-- Win32_DirectorySpecification-- Win32_DiskDriveToDiskPartition-- Win32_DiskPartition--磁盘逻辑分区 Win32_DiskQuota--NTFS磁盘分区定额 Win32_LogicalDisk--逻辑磁盘分区 Win32_LogicalDiskRootDirectory-- Win32_LogicalDiskToPartition-- Win32_MappedLogicalDisk--映射逻辑磁盘 Win32_OperatingSystemAutochkSetting-- Win32_QuotaSetting-- Win32_ShortcutFile-- Win32_SubDirectory-- Win32_SystemPartitions-- Win32_Volume-- Win32_VolumeQuota-- Win32_VolumeQuotaSetting-- Win32_VolumeUserQuota-- 作业对象类别 Win32_CollectionStatistics-- Win32_LUID-- Win32_LUIDandAttributes-- Win32_NamedJobObject-- Win32_NamedJobObjectActgInfo-- Win32_NamedJobObjectLimit-- Win32_NamedJobObjectLimitSetting-- Win32_NamedJobObjectProcess-- Win32_NamedJobObjectSecLimit-- Win32_NamedJobObjectSecLimitSetting-- Win32_NamedJobObjectStatistics-- Win32_SIDandAttributes-- Win32_TokenGroups-- Win32_TokenPrivileges-- 存储页面文件类别 Win32_LogicalMemoryConfiguration--逻辑内存配置 Win32_PageFile--页面文件 Win32_PageFileElementSetting-- Win32_PageFileSetting--页面文件设置 Win32_PageFileUsage--页面文件使用 Win32_SystemLogicalMemoryConfiguration-- 多媒体视听类别 Win32_CodecFile--编解码器文件 建网类别 Win32_ActiveRoute--活动路由 Win32_IP4PersistedRouteTable-- Win32_IP4RouteTable--路由表 Win32_IP4RouteTableEvent-- Win32_NetworkClient-- Win32_NetworkConnection-- Win32_NetworkProtocol--网络协议 Win32_NTDomain-- Win32_PingStatus-- Win32_ProtocolBinding--协议绑定 操作系统事件类别 Win32_ComputerShutdownEvent-- Win32_ComputerSystemEvent-- Win32_DeviceChangeEvent-- Win32_ModuleLoadTrace-- Win32_ModuleTrace-- Win32_ProcessStartTrace-- Win32_ProcessStopTrace-- Win32_ProcessTrace-- Win32_SystemConfigurationChangeEvent-- Win32_SystemTrace-- Win32_ThreadStartTrace-- Win32_ThreadStopTrace-- Win32_ThreadTrace-- Win32_VolumeChangeEvent-- Win32_BootConfiguration--引导配置 Win32_ComputerSystem--计算机系统 Win32_ComputerSystemProcessor--计算机系统处理器 Win32_ComputerSystemProduct--计算机系统产品 Win32_DependentService--信任的服务 Win32_LoadOrderGroup--装载顺序组 Win32_LoadOrderGroupServiceDependencies-- Win32_LoadOrderGroupServiceMembers-- Win32_OperatingSystem--操作系统 Win32_OperatingSystemQFE-- Win32_OSRecoveryConfiguration--操作系统恢复配置 Win32_QuickFixEngineering-- Win32_StartupCommand--启动命令 Win32_SystemBootConfiguration-- Win32_SystemDesktop-- Win32_SystemDevices-- Win32_SystemLoadOrderGroups-- Win32_SystemNetworkConnections-- Win32_SystemOperatingSystem-- Win32_SystemProcesses-- Win32_SystemProgramGroups--Windows开始程序组 Win32_SystemResources-- Win32_SystemServices--系统服务 Win32_SystemSetting-- Win32_SystemSystemDriver-- Win32_SystemTimeZone--系统时区 Win32_SystemUsers--系统用户 进程类别 Win32_Process--进程 Win32_ProcessStartup-- Win32_Thread--线程 注册类别 Win32_Registry--注册表 调试程序作业类别 Win32_CurrentTime--当前时间 Win32_ScheduledJob-- 安全类别 Win32_AccountSID-- Win32_ACE-- Win32_LogicalFileAccess-- Win32_LogicalFileAuditing-- Win32_LogicalFileGroup-- Win32_LogicalFileOwner-- Win32_LogicalFileSecuritySetting-- Win32_LogicalShareAccess-- Win32_LogicalShareAuditing-- Win32_LogicalShareSecuritySetting-- Win32_PrivilegesStatus-- Win32_SecurityDescriptor-- Win32_SecuritySetting-- Win32_SecuritySettingAccess-- Win32_SecuritySettingAuditing-- Win32_SecuritySettingGroup-- Win32_SecuritySettingOfLogicalFile-- Win32_SecuritySettingOfLogicalShare-- Win32_SecuritySettingOfObject-- Win32_SecuritySettingOwner-- Win32_SID-- Win32_Trustee-- 服务类别 Win32_BaseService--基本服务 Win32_Service--服务 共享类别 Win32_DFSNode-- Win32_DFSNodeTarget-- Win32_DFSTarget-- Win32_ServerConnection-- Win32_ServerSession-- Win32_ConnectionShare-- Win32_PrinterShare-- Win32_SessionConnection-- Win32_SessionProcess-- Win32_ShareToDirectory-- Win32_Share--共享文件夹 开始菜单类别 Win32_LogicalProgramGroup--Windows开始逻辑程序组 Win32_LogicalProgramGroupDirectory--Windows开始逻辑程序组目录Win32_LogicalProgramGroupItem--Windows开始逻辑程序组项 Win32_LogicalProgramGroupItemDataFile--Windows开始逻辑程序组项数据文件 Win32_ProgramGroup--Windows程序组 Win32_ProgramGroupContents--Windows程序组内容 Win32_ProgramGroupOrItem--Windows程序组或项 存储类别 Win32_ShadowBy-- Win32_ShadowContext-- Win32_ShadowCopy-- Win32_ShadowDiffVolumeSupport-- Win32_ShadowFor-- Win32_ShadowOn-- Win32_ShadowProvider-- Win32_ShadowStorage-- Win32_ShadowVolumeSupport-- Win32_Volume-- Win32_VolumeUserQuota-- 用户类别 Win32_Account--帐户 Win32_Group--组 Win32_GroupInDomain--域中的组 Win32_GroupUser--组用户 Win32_LogonSession--登录会话 Win32_LogonSessionMappedDisk-- Win32_NetworkLoginProfile-- Win32_SystemAccount--系统账户 Win32_UserAccount--使用账户 Win32_UserInDomain--域中的用户 Windows NT的事件日志类别 Win32_NTEventlogFile--事件日志文件 Win32_NTLogEvent--日志事件 Win32_NTLogEventComputer--日志事件计算机 Win32_NTLogEventLog--日志事件日志 Win32_NTLogEventUser-- Windows产品激活类别 Win32_ComputerSystemWindowsProductActivationSetting-- Win32_Proxy--代理 Win32_WindowsProductActivation--Windows产品激活 3、安装应用程序类 Win32_ActionCheck-- Win32_ApplicationCommandLine-- Win32_ApplicationService-- Win32_Binary-- Win32_BindImageAction-- Win32_CheckCheck-- Win32_ClassInfoAction-- Win32_CommandLineAccess-- Win32_Condition-- Win32_CreateFolderAction-- Win32_DuplicateFileAction-- Win32_EnvironmentSpecification-- Win32_ExtensionInfoAction-- Win32_FileSpecification-- Win32_FontInfoAction-- Win32_IniFileSpecification-- Win32_InstalledSoftwareElement-- Win32_LaunchCondition-- Win32_ManagedSystemElementResource-- Win32_MIMEInfoAction-- Win32_MoveFileAction-- Win32_MSIResource-- Win32_ODBCAttribute-- Win32_ODBCDataSourceAttribute-- Win32_ODBCDataSourceSpecification-- Win32_ODBCDriverAttribute-- Win32_ODBCDriverSoftwareElement-- Win32_ODBCDriverSpecification-- Win32_ODBCSourceAttribute-- Win32_ODBCTranslatorSpecification-- Win32_Patch-- Win32_PatchFile-- Win32_PatchPackage-- Win32_Product-- Win32_ProductCheck-- Win32_ProductResource-- Win32_ProductSoftwareFeatures-- Win32_ProgIDSpecification-- Win32_Property-- Win32_PublishComponentAction-- Win32_RegistryAction-- Win32_RemoveFileAction-- Win32_RemoveIniAction-- Win32_ReserveCost-- Win32_SelfRegModuleAction-- Win32_ServiceControl-- Win32_ServiceSpecification-- Win32_ServiceSpecificationService-- Win32_SettingCheck-- Win32_ShortcutAction-- Win32_ShortcutSAP-- Win32_SoftwareElement-- Win32_SoftwareElementAction-- Win32_SoftwareElementCheck-- Win32_SoftwareElementCondition-- Win32_SoftwareElementResource-- Win32_SoftwareFeature-- Win32_SoftwareFeatureAction-- Win32_SoftwareFeatureCheck-- Win32_SoftwareFeatureParent-- Win32_SoftwareFeatureSoftwareElements-- Win32_TypeLibraryAction-- 4、WMI服务管理类 WMI配置类别 Win32_MethodParameterClass--方法参数类 WMI管理类别 Win32_WMISetting--WMI设置 Win32_WMIElementSetting--WMI单元设置 5、性能计数器类 格式化性能计数器类别 Win32_PerfFormattedData-- Win32_PerfFormattedData_ASP_ActiveServerPages-- Win32_PerfFormattedData_ContentFilter_IndexingServiceFilter-- Win32_PerfFormattedData_ContentIndex_IndexingService-- Win32_PerfFormattedData_InetInfo_InternetInformationServicesGlobal-- Win32_PerfFormattedData_ISAPISearch_HttpIndexingService-- Win32_PerfFormattedData_MSDTC_DistributedTransactionCoordinator-- Win32_PerfFormattedData_NTFSDRV_SMTPNTFSStoreDriver-- Win32_PerfFormattedData_PerfDisk_LogicalDisk-- Win32_PerfFormattedData_PerfDisk_PhysicalDisk-- Win32_PerfFormattedData_PerfNet_Browser-- Win32_PerfFormattedData_PerfNet_Redirector-- Win32_PerfFormattedData_PerfNet_Server-- Win32_PerfFormattedData_PerfNet_ServerWorkQueues-- Win32_PerfFormattedData_PerfOS_Cache-- Win32_PerfFormattedData_PerfOS_Memory-- Win32_PerfFormattedData_PerfOS_Objects-- Win32_PerfFormattedData_PerfOS_PagingFile-- Win32_PerfFormattedData_PerfOS_Processor-- Win32_PerfFormattedData_PerfOS_System-- Win32_PerfFormattedData_PerfProc_FullImage_Costly-- Win32_PerfFormattedData_PerfProc_Image_Costly--Win32_PerfFormattedData_PerfProc_JobObject--Win32_PerfFormattedData_PerfProc_JobObjectDetails--Win32_PerfFormattedData_PerfProc_Process--Win32_PerfFormattedData_PerfProc_ProcessAddressSpace_Costly--Win32_PerfFormattedData_PerfProc_Thread--Win32_PerfFormattedData_PerfProc_ThreadDetails_Costly--Win32_PerfFormattedData_PSched_PSchedFlow-- Win32_PerfFormattedData_PSched_PSchedPipe--Win32_PerfFormattedData_RemoteAccess_RASPort--Win32_PerfFormattedData_RemoteAccess_RASTotal--Win32_PerfFormattedData_RSVP_ACSRSVPInterfaces--Win32_PerfFormattedData_RSVP_ACSRSVPService--Win32_PerfFormattedData_SMTPSVC_SMTPServer--Win32_PerfFormattedData_Spooler_PrintQueue-- Win32_PerfFormattedData_TapiSrv_Telephony-- Win32_PerfFormattedData_Tcpip_ICMP-- Win32_PerfFormattedData_Tcpip_IP-- Win32_PerfFormattedData_Tcpip_NBTConnection--Win32_PerfFormattedData_Tcpip_NetworkInterface-- Win32_PerfFormattedData_Tcpip_TCP-- Win32_PerfFormattedData_Tcpip_UDP--Win32_PerfFormattedData_TermService_TerminalServices--Win32_PerfFormattedData_TermService_TerminalServicesSession--Win32_PerfFormattedData_W3SVC_WebService-- 原始性能计数器类别 Win32_PerfRawData--Win32_PerfRawData_ASP_ActiveServerPages--Win32_PerfRawData_ContentFilter_IndexingServiceFilter--Win32_PerfRawData_ContentIndex_IndexingService--Win32_PerfRawData_InetInfo_InternetInformationServicesGlobal--Win32_PerfRawData_ISAPISearch_HttpIndexingService--Win32_PerfRawData_MSDTC_DistributedTransactionCoordinator--Win32_PerfRawData_NTFSDRV_SMTPNTFSStoreDriver-- Win32_PerfRawData_PerfDisk_LogicalDisk-- Win32_PerfRawData_PerfDisk_PhysicalDisk-- Win32_PerfRawData_PerfNet_Browser-- Win32_PerfRawData_PerfNet_Redirector-- Win32_PerfRawData_PerfNet_Server-- Win32_PerfRawData_PerfNet_ServerWorkQueues-- Win32_PerfRawData_PerfOS_Cache-- Win32_PerfRawData_PerfOS_Memory-- Win32_PerfRawData_PerfOS_Objects-- Win32_PerfRawData_PerfOS_PagingFile-- Win32_PerfRawData_PerfOS_Processor-- Win32_PerfRawData_PerfOS_System-- Win32_PerfRawData_PerfProc_FullImage_Costly-- Win32_PerfRawData_PerfProc_Image_Costly-- Win32_PerfRawData_PerfProc_JobObject-- Win32_PerfRawData_PerfProc_JobObjectDetails-- Win32_PerfRawData_PerfProc_Process--Win32_PerfRawData_PerfProc_ProcessAddressSpace_Costly--Win32_PerfRawData_PerfProc_Thread-- Win32_PerfRawData_PerfProc_ThreadDetails_Costly-- Win32_PerfRawData_PSched_PSchedFlow-- Win32_PerfRawData_PSched_PSchedPipe-- Win32_PerfRawData_RemoteAccess_RASPort-- Win32_PerfRawData_RemoteAccess_RASTotal-- Win32_PerfRawData_RSVP_ACSRSVPInterfaces-- Win32_PerfRawData_RSVP_ACSRSVPService-- Win32_PerfRawData_SMTPSVC_SMTPServer-- Win32_PerfRawData_Spooler_PrintQueue-- Win32_PerfRawData_TapiSrv_Telephony-- Win32_PerfRawData_Tcpip_ICMP-- Win32_PerfRawData_Tcpip_IP-- Win32_PerfRawData_Tcpip_NBTConnection-- Win32_PerfRawData_Tcpip_NetworkInterface-- Win32_PerfRawData_Tcpip_TCP-- Win32_PerfRawData_Tcpip_UDP-- Win32_PerfRawData_TermService_TerminalServices--Win32_PerfRawData_TermService_TerminalServicesSession--Win32_PerfRawData_W3SVC_WebService--