马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
WMI(Windows Management Instrumentation)是什么?WMI(Windows Management Instrumentation,Windows管理规范)是Windows系统内置的管理框架,提供了一个标准的接口,用于访问和管理操作系统、硬件设备、服务、进程、注册表、事件日志、文件系统等各种资源的信息。 WMI 基于 CIM(Common Information Model,通用信息模型),允许本地或远程管理计算机,并可通过 脚本(VBScript、PowerShell)、C++、C# 等语言进行访问和查询。
WMI 可以做什么?WMI 可用于多种场景,例如: 1. 获取硬件信息可以查询 CPU、内存、硬盘、主板、BIOS、显卡、网卡等信息: - 获取 CPU 信息:Get-WmiObject Win32_Processor | Select-Object Name, NumberOfCores, MaxClockSpeed
- 获取内存信息:Get-WmiObject Win32_PhysicalMemory | Select-Object Capacity, Speed, Manufacturer
2. 查询进程和服务- 列出所有正在运行的进程:Get-WmiObject Win32_Process | Select-Object Name, ProcessId, CommandLine
- 终止某个进程:Get-WmiObject Win32_Process | Where-Object { _.Name -eq "notepad.exe" } | ForEach-Object { _.Terminate() }
- 查询 Windows 服务状态:Get-WmiObject Win32_Service | Select-Object Name, StartMode, State
3. 远程管理计算机WMI 可以在远程计算机上执行查询和管理任务(需有管理员权限):
Get-WmiObject -Class Win32_OperatingSystem -ComputerName "RemotePC" -Credential (Get-Credential)
4. 监控系统事件WMI 可以订阅系统日志、硬件变更、进程创建/终止等事件: Register-WmiEvent -Query "SELECT * FROM __InstanceCreationEvent WITHIN 1 WHERE TargetInstance ISA 'Win32_Process'" -Action { Write-Host "New process created!" }
5. 访问 Windows 注册表使用 WMI 查询或修改注册表: Get-WmiObject -Query "SELECT * FROM Win32_Registry" | Select-Object *
6. 查询磁盘、文件系统- 获取磁盘信息:Get-WmiObject Win32_DiskDrive | Select-Object Model, Size
- 查询某个分区的文件系统:Get-WmiObject Win32_LogicalDisk | Select-Object DeviceID, FileSystem, FreeSpace
如何使用 WMI- PowerShell(推荐):如 Get-WmiObject 或 Get-CimInstance 命令。
- C++(使用 COM 接口):通过 IWbemLocator 查询 WMI 数据。
- C#(使用 System.Management 命名空间):csharp
using System.Management;ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_OperatingSystem");foreach (ManagementObject obj in searcher.Get()) { Console.WriteLine("OS: " + obj["Caption"]);} - VBScript:用于 Windows 任务计划和自动化。
总结- WMI 是 Windows 提供的系统管理框架,可用于查询和管理计算机的各种信息。
- 适用于本地管理和远程计算机管理。
- 主要用于硬件监控、进程管理、日志查询、远程管理等场景。
- 推荐使用 PowerShell 进行 WMI 查询,相比 C++/C# 更简单高效。
如果你在 AutoCAD 的 C++ ARX 插件中使用 WMI,可以通过 IWbemLocator 和 IWbemServices 进行查询,比如获取 CPU 信息、内存大小、硬盘序列号等信息。
=========================================================
WMI 查询 Win32_Account 详细说明
1. 什么是 Win32_Account?Win32_Account 是 WMI 的一个类,表示Windows 系统中的用户账户和组。
它包含 本地账户(Win32_UserAccount) 和 用户组(Win32_Group),可以用来查询当前计算机上的用户信息、用户权限、所在的组等。
2. Win32_Account 关键字段[td]字段名 | 类型 | 说明 | Name | string | 账户名称(如 Administrator) | Domain | string | 所属域或计算机名 | SID | string | 安全标识符(Security Identifier,唯一标识账户) | LocalAccount | bool | 是否为本地账户(True=本地账户,False=域账户) | Description | string | 账户描述 | Status | string | 账户状态(如 OK、Degraded、Error) | Disabled | bool | 账户是否被禁用(True=禁用,False=启用) | Lockout | bool | 账户是否被锁定 | PasswordRequired | bool | 是否需要密码 | PasswordChangeable | bool | 是否可以更改密码 | PasswordExpires | bool | 密码是否会过期 |
3. 如何查询 Win32_Account?
XDRX API:
 - Command: (xdrx-wmi-query "Win32_Account")
- ("AccountType" "Caption" "Description" "Disabled" "Domain" "FullName" "InstallDate" "LocalAccount" "Lockout" "Name" "PasswordChangeable" "PasswordExpires" "PasswordRequired" "SID" "SIDType" "Status")
 - Command: (xdrx-wmi-query "Win32_Account" "name")
- ("Administrator" "DefaultAccount" "Guest" "WDAGUtilityAccount" "Everyone" "LOCAL" "CREATOR OWNER" "CREATOR GROUP" "CREATOR OWNER SERVER" "CREATOR GROUP SERVER" "OWNER RIGHTS" "DIALUP" "NETWORK" "BATCH" "INTERACTIVE" "SERVICE" "ANONYMOUS LOGON" "PROXY" "SYSTEM" "ENTERPRISE DOMAIN CONTROLLERS" "SELF" "Authenticated Users" "RESTRICTED" "TERMINAL SERVER USER" "REMOTE INTERACTIVE LOGON" "IUSR" "LOCAL SERVICE" "NETWORK SERVICE" "BUILTIN" "Access Control Assistance Operators" "Administrators" "Backup Operators" "Cryptographic Operators" "Device Owners" "Distributed COM Users" "Event Log Readers" "Guests" "Hyper-V Administrators" "IIS_IUSRS" "Network Configuration Operators" "Performance Log Users" "Performance Monitor Users" "Power Users" "Remote Desktop Users" "Remote Management Users" "Replicator" "System Managed Accounts Group" "Users" "__vmware__")
 - Command: (xdrx-wmi-query "Win32_Account" "name" "name like '%crea%'")
- ("CREATOR OWNER" "CREATOR GROUP" "CREATOR OWNER SERVER" "CREATOR GROUP SERVER")
=============================
WMI Win32_BIOS 详解
Win32_BIOS 是 WMI(Windows Management Instrumentation)中的一个类,它提供了计算机 BIOS(基本输入输出系统) 的信息,包括BIOS 版本、制造商、序列号等。
1. Win32_BIOS 关键字段Win32_BIOS 提供了一些常用字段,可用于查询 BIOS 相关信息。
字段名 | 类型 | 说明 | Manufacturer | string | BIOS 制造商,例如 American Megatrends Inc.、Phoenix Technologies Ltd. | Name | string | BIOS 名称 | Version | string | BIOS 版本信息 | SerialNumber | string | BIOS 序列号(唯一标识主板) | ReleaseDate | datetime | BIOS 发布日期(格式 YYYYMMDDHHMMSS.UUUUUU±UTC) | SMBIOSBIOSVersion | string | SMBIOS 兼容的 BIOS 版本 | SMBIOSMajorVersion | uint16 | SMBIOS 主版本号 | SMBIOSMinorVersion | uint16 | SMBIOS 次版本号 | BIOSVersion | string[] | BIOS 版本号(数组格式) | PrimaryBIOS | bool | 是否为主 BIOS(通常为 TRUE) | CurrentLanguage | string | BIOS 当前语言 | EmbeddedControllerMajorVersion | uint16 | 嵌入式控制器主版本号 | EmbeddedControllerMinorVersion | uint16 | 嵌入式控制器次版本号 |
2. 如何查询 Win32_BIOS
 - Command: (xdrx-wmi-query "Win32_bios")
- ("BIOSVersion" "BiosCharacteristics" "BuildNumber" "Caption" "CodeSet" "CurrentLanguage" "Description" "EmbeddedControllerMajorVersion" "EmbeddedControllerMinorVersion" "IdentificationCode" "InstallDate" "InstallableLanguages" "LanguageEdition" "ListOfLanguages" "Manufacturer" "Name" "OtherTargetOS" "PrimaryBIOS" "ReleaseDate" "SMBIOSBIOSVersion" "SMBIOSMajorVersion" "SMBIOSMinorVersion" "SMBIOSPresent" "SerialNumber" "SoftwareElementID" "SoftwareElementState" "Status" "SystemBiosMajorVersion" "SystemBiosMinorVersion" "TargetOperatingSystem" "Version")
 - Command: (xdrx-wmi-query "Win32_bios" "BIOSVersion,Caption,CurrentLanguage,Description,InstallDate")
- (("DELL - 1072009" "1.36.1" "American Megatrends - 50011" "") "1.36.1" "en|US|iso8859-1" "1.36.1")
Win32_BaseBoard 详解
1. 什么是 Win32_BaseBoard?
Win32_BaseBoard 是 WMI(Windows Management Instrumentation)中的一个类,它用于获取计算机主板(Baseboard 或 Motherboard)的信息,包括 制造商、产品型号、序列号、版本号等。 在 硬件资产管理、系统维护、安全审计 等场景中,Win32_BaseBoard 经常用于识别计算机的主板信息。
2. Win32_BaseBoard 关键字段Win32_BaseBoard 提供了多个属性来描述主板的信息:
字段名 | 类型 | 说明 | Manufacturer | string | 主板制造商(如 ASUS, Gigabyte, MSI, Dell 等) | Product | string | 主板产品型号(如 ROG STRIX B550-F GAMING, Z490-A PRO) | SerialNumber | string | 主板序列号(用于唯一标识主板) | Version | string | 主板版本号(如 1.0, Rev. A) | Model | string | 主板型号,部分主板可能为空 | PartNumber | string | 主板的零件编号 | PoweredOn | boolean | 指示主板是否处于上电状态 | HotSwappable | boolean | 指示主板是否支持热插拔 | HostingBoard | boolean | 是否是宿主板(通常为 TRUE) | Removable | boolean | 是否可拆卸 |
3. 如何查询 Win32_BaseBoard
 - Command: (xdrx-wmi-query "Win32_BaseBoard")
- ("Caption" "ConfigOptions" "CreationClassName" "Depth" "Description" "Height" "HostingBoard" "HotSwappable" "InstallDate" "Manufacturer" "Model" "Name" "OtherIdentifyingInfo" "PartNumber" "PoweredOn" "Product" "Removable" "Replaceable" "RequirementsDescription" "RequiresDaughterBoard" "SKU" "SerialNumber" "SlotLayout" "SpecialRequirements" "Status" "Tag" "Version" "Weight" "Width")
 - Command: (xdrx-wmi-query "Win32_BaseBoard" "caption,version,manufacturer,SerialNumber")
- ("基板" "A04" "Dell Inc." "/JF35D73/CNPE10016S09J3/")
Win32_ComputerSystem 详解
1. 什么是 Win32_ComputerSystem?
Win32_ComputerSystem 是 Windows Management Instrumentation (WMI) 提供的一个类,用于查询计算机的系统级信息,包括 计算机名称、制造商、型号、内存信息、电源状态、域信息 等。 它适用于 系统管理、资产管理、安全检测、远程监控 等场景,能够获取计算机的基本硬件和系统配置。
2. Win32_ComputerSystem 关键字段Win32_ComputerSystem 提供了多个属性来描述计算机系统的信息:
字段名 | 类型 | 说明 | Name | string | 计算机名称(主机名) | Manufacturer | string | 计算机制造商(如 Dell, Lenovo, HP) | Model | string | 计算机型号(如 ThinkPad X1 Carbon Gen 9) | SystemType | string | 计算机架构(如 x64-based PC,ARM-based PC) | TotalPhysicalMemory | uint64 | 计算机的物理内存总量(单位:字节) | UserName | string | 当前登录的用户(格式:域\用户名 或 计算机名\用户名) | Domain | string | 计算机所属的域名(如果在工作组中,则显示工作组名称) | Workgroup | string | 计算机的工作组名称 | NumberOfProcessors | uint32 | 处理器的数量 | PrimaryOwnerName | string | 计算机的所有者名称 | AdminPasswordStatus | uint32 | 管理员密码状态(0 = 未知,1 = 未配置,2 = 配置但未知,3 = 已配置) | PowerState | uint16 | 计算机当前的电源状态(1 = 正常开机,4 = 睡眠,6 = 关机等) |
3. 如何查询 Win32_ComputerSystem
 - Command: (xdrx-wmi-query "Win32_ComputerSystem")
- ("AdminPasswordStatus" "AutomaticManagedPagefile" "AutomaticResetBootOption" "AutomaticResetCapability" "BootOptionOnLimit" "BootOptionOnWatchDog" "BootROMSupported" "BootStatus" "BootupState" "Caption" "ChassisBootupState" "ChassisSKUNumber" "CreationClassName" "CurrentTimeZone" "DNSHostName" "DaylightInEffect" "Description" "Domain" "DomainRole" "EnableDaylightSavingsTime" "FrontPanelResetStatus" "HypervisorPresent" "InfraredSupported" "InitialLoadInfo" "InstallDate" "KeyboardPasswordStatus" "LastLoadInfo" "Manufacturer" "Model" "Name" "NameFormat" "NetworkServerModeEnabled" "NumberOfLogicalProcessors" "NumberOfProcessors" "OEMLogoBitmap" "OEMStringArray" "PCSystemType" "PCSystemTypeEx" "PartOfDomain" "PauseAfterReset" "PowerManagementCapabilities" "PowerManagementSupported" "PowerOnPasswordStatus" "PowerState" "PowerSupplyState" "PrimaryOwnerContact" "PrimaryOwnerName" "ResetCapability" "ResetCount" "ResetLimit" "Roles" "Status" "SupportContactDescription" "SystemFamily" "SystemSKUNumber" "SystemStartupDelay" "SystemStartupOptions" "SystemStartupSetting" "SystemType" "ThermalState" "TotalPhysicalMemory" "UserName" "WakeUpType" "Workgroup")
 - Command: (xdrx-wmi-query "Win32_ComputerSystem" "CurrentTimeZone,caption,name,workgroup,TotalPhysicalMemory,username,systemfamily")
- ("480" "DESKTOP-QM8MFQQ" "DESKTOP-QM8MFQQ" "WORKGROUP" "137137020928" "DESKTOP-QM8MFQQ\\Administrator" "Precision")
Win32_DesktopMonitor 详解
1. 概述Win32_DesktopMonitor 是 Windows Management Instrumentation (WMI) 中的一个类,属于 ROOT\CIMV2 命名空间。它用于表示计算机上连接的 桌面显示器(包括外接显示器和笔记本内置屏幕)。 该类提供了关于显示器的详细信息,如 设备名称、屏幕分辨率、刷新率、制造商、PNP 设备 ID 等。
2. 主要属性 Win32_DesktopMonitor 类的属性如下:
属性 | 数据类型 | 说明 | Name | string | 显示器名称(通常是“默认监视器”或厂商提供的名称) | Availability | uint16 | 设备可用性状态(3=运行中,8=离线) | Caption | string | 显示器的简要描述 | DeviceID | string | 设备 ID,如 DesktopMonitor1 | Description | string | 显示器描述 | MonitorManufacturer | string | 生产厂商,如 Samsung | MonitorType | string | 监视器类型 | PNPDeviceID | string | 即插即用设备 ID(如 DISPLAY\GSM56FE\5&16F4E1C5&0&UID4353) | ScreenHeight | uint32 | 显示器屏幕高度(像素) | ScreenWidth | uint32 | 显示器屏幕宽度(像素) | PixelsPerXLogicalInch | uint32 | 水平方向每逻辑英寸像素数(DPI) | PixelsPerYLogicalInch | uint32 | 垂直方向每逻辑英寸像素数(DPI) | DisplayType | uint16 | 显示器类型(0=未知, 1=单色, 2=彩色) | Status | string | 设备状态("OK"、"Error"、"Degraded" 等) |
3. WQL 查询示例
 - Command: (xdrx-wmi-query "Win32_DesktopMonitor")
- ("Availability" "Bandwidth" "Caption" "ConfigManagerErrorCode" "ConfigManagerUserConfig" "CreationClassName" "Description" "DeviceID" "DisplayType" "ErrorCleared" "ErrorDescription" "InstallDate" "IsLocked" "LastErrorCode" "MonitorManufacturer" "MonitorType" "Name" "PNPDeviceID" "PixelsPerXLogicalInch" "PixelsPerYLogicalInch" "PowerManagementCapabilities" "PowerManagementSupported" "ScreenHeight" "ScreenWidth" "Status" "StatusInfo" "SystemCreationClassName" "SystemName")
 - Command: (xdrx-wmi-query "Win32_DesktopMonitor" "caption,ScreenHeight,ScreenWidth,PixelsPerXLogicalInch,PixelsPerYLogicalInch")
- (("默认监视器" "Dell U2720Q (DP4K2K60)") "2160" "3840" ("144" "144") ("144" "144"))
Win32_Environment 详解
1. 概述
Win32_Environment 是 Windows Management Instrumentation (WMI) 的一个类,位于 ROOT\CIMV2 命名空间。它用于管理 环境变量(Environment Variables),可以获取 系统级 和 用户级 变量,如 PATH、TEMP、COMSPEC 等。
- 系统级环境变量:适用于所有用户,存储在注册表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
- 用户级环境变量:仅适用于特定用户,存储在注册表 HKEY_CURRENT_USER\Environment
2. 主要属性
属性 | 数据类型 | 说明 | Name | string | 环境变量名称,如 PATH | VariableValue | string | 环境变量的值 | UserName | string | 拥有该环境变量的用户,格式为 DOMAIN\Username 或 NULL(表示系统变量) | Caption | string | 简要描述 | Description | string | 详细描述 | Status | string | 变量状态("OK"、"Error") |
3. WQL 查询示例WQL(WMI Query Language)可用于查询 Win32_Environment。
 - Command: (xdrx-wmi-query "Win32_Environment")
- ("Caption" "Description" "InstallDate" "Name" "Status" "SystemVariable" "UserName" "VariableValue")
 - ommand: (xdrx-wmi-query "Win32_Environment" "VariableValue" "name='path'")
- ("C:\\Program Files (x86)\\VMware\\VMware Workstation\\bin\\;C:\\Program Files\\Microsoft\\jdk-11.0.12.7-hotspot\\bin;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Windows\\System32\\OpenSSH\\;C:\\Program Files (x86)\\Windows Kits\\10\\Windows Performance Toolkit\\;C:\\Program Files\\Microsoft SQL Server\\Client SDK\\ODBC\\170\\Tools\\Binn\\;C:\\Program Files\\Microsoft SQL Server\\150\\Tools\\Binn\\;C:\\Program Files\\CMake\\bin;C:\\Program Files\\Git\\cmd;C:\\Program Files\\dotnet\\;C:\\Program Files\\Microsoft SQL Server\\130\\Tools\\Binn\\" "%USERPROFILE%\\AppData\\Local\\Microsoft\\WindowsApps;" "%USERPROFILE%\\AppData\\Local\\Microsoft\\WindowsApps;" "%USERPROFILE%\\AppData\\Local\\Microsoft\\WindowsApps;" "C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\Scripts\\;C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python312\\;H:\\MyDevlop\\BaiduSyncdisk\\XDRX-20160405\\XDRX_API\\Release\\sys64\\x64;%USERPROFILE%\\AppData\\Local\\Microsoft\\WindowsApps;%USERPROFILE%\\.dotnet\\tools;C:\\Users\\Administrator\\AppData\\Local\\Programs\\Microsoft VS Code\\bin")
Win32_LogicalDisk 详解
Win32_LogicalDisk 是 WMI(Windows Management Instrumentation)中的一个类,用于表示计算机中的逻辑磁盘(如硬盘驱动器、网络驱动器、可移动磁盘等)。这个类提供了有关计算机磁盘驱动器的信息,包括驱动器的类型、大小、文件系统以及其他重要的属性。
1. Win32_LogicalDisk 类的属性
属性名称 | 说明 | DeviceID | 磁盘驱动器的设备ID,例如 C:、D:、Z: 等。 | VolumeName | 磁盘卷的名称(如果有)。 | FileSystem | 驱动器上使用的文件系统类型,例如 NTFS、FAT32、exFAT 等。 | FreeSpace | 驱动器上未使用的空间大小,单位为字节。 | Size | 驱动器的总大小,单位为字节。 | DriveType | 驱动器类型的枚举值,指示驱动器的类型。 | MediaType | 存储介质的类型,例如 Removable Media、Fixed Media。 | VolumeSerialNumber | 驱动器的卷序列号。 | Status | 驱动器的状态,通常为 OK。 | Manufacturer | 驱动器的制造商。 | PNPDeviceID | 即插即用设备ID,标识磁盘设备。 | LogicalDiskType | 该磁盘的逻辑类型。 | Caption | 驱动器的描述或标题。 | DriveLetter | 驱动器的盘符(在 DriveType 为 3 或 4 时才有效)。 | SCSIBus | 与该驱动器相关联的 SCSI 总线。 | SCSIId | SCSI 设备的 ID。 | SCSIPort | 连接到此磁盘的 SCSI 端口。 |
2. DriveType 属性的取值
DriveType 属性表示驱动器的类型,返回以下枚举值:
值 | 类型描述 | 0 | 无效驱动器(Invalid) | 1 | 本地磁盘(Local Disk) | 2 | 网络驱动器(Network Drive) | 3 | 可移动磁盘(Removable Disk) | 4 | 固定磁盘(Fixed Disk) | 5 | CD-ROM 驱动器(CD-ROM Drive) | 6 | RAM 驱动器(RAM Disk) | 7 | 光盘驱动器(Optical Drive) |
3. WQL 查询示例
你可以通过 WQL(Windows Query Language)来查询 Win32_LogicalDisk 类的数据。以下是一些常见的查询示例。
Command: (xdrx-wmi-query "Win32_LogicalDisk")
("Access" "Availability" "BlockSize" "Caption" "Compressed" "ConfigManagerErrorCode" "ConfigManagerUserConfig" "CreationClassName" "Description" "DeviceID" "DriveType" "ErrorCleared" "ErrorDescription" "ErrorMethodology" "FileSystem" "FreeSpace" "InstallDate" "LastErrorCode" "MaximumComponentLength" "MediaType" "Name" "NumberOfBlocks" "PNPDeviceID" "PowerManagementCapabilities" "PowerManagementSupported" "ProviderName" "Purpose" "QuotasDisabled" "QuotasIncomplete" "QuotasRebuilding" "Size" "Status" "StatusInfo" "SupportsDiskQuotas" "SupportsFileBasedCompression" "SystemCreationClassName" "SystemName" "VolumeDirty" "VolumeName" "VolumeSerialNumber")
 - Command: (xdrx-wmi-query "Win32_LogicalDisk" "name")
- ("C:" "D:" "E:" "F:" "G:" "H:" "Y:" "Z:")
 - ;获取网络驱动器
- Command: (xdrx-wmi-query "Win32_LogicalDisk" "caption,VolumeName,size" "drivetype = 4")
- ("Z:" "数据盘-3" "16001976475648")
 - ;获取本地磁盘信息
- Command: (xdrx-wmi-query "Win32_LogicalDisk" "caption,VolumeName,size" "drivetype = 3")
- (("C:" "D:" "E:" "G:" "H:") ("WIN10" "Unknown" "Unknown" "SanSuang-W1" "SanSuang-W2") ("214748332032" "4000786984960" "511793164288" "322122543104" "1677892587520"))
Win32_OperatingSystem 详解
Win32_OperatingSystem 是 WMI(Windows Management Instrumentation)中的一个类,用于表示计算机上的操作系统。通过该类,您可以获取操作系统的版本、架构、安装日期、启动时间等详细信息。这个类提供了操作系统的多种属性和状态信息,可以用于管理、监控和配置系统。
1. Win32_OperatingSystem 类的属性
以下是 Win32_OperatingSystem 类常见的属性及其说明:
属性名称 | 说明 | Caption | 操作系统的名称,通常是操作系统的完整名称,如 Microsoft Windows 10 Pro。 | Version | 操作系统的版本号。例如 10.0.19041。 | BuildNumber | 操作系统的构建号,用于标识操作系统的具体版本。 | Architecture | 操作系统的体系结构,通常是 x86、x64 或 ARM。 | CSName | 计算机系统的名称(计算机名称)。 | RegisteredUser | 操作系统的注册用户(用户名)。 | ProductType | 操作系统的类型,例如 WinNT、Server、Workstation。 | InstallDate | 操作系统的安装日期和时间。 | LastBootUpTime | 上次启动操作系统的时间。 | OSType | 操作系统的类型,通常为 Windows NT。 | ServicePackMajorVersion | 当前安装的操作系统服务包的主版本号(如有)。 | ServicePackMinorVersion | 当前安装的操作系统服务包的次版本号(如有)。 | TotalVisibleMemorySize | 操作系统中可见的总内存大小,单位为 KB。 | FreePhysicalMemory | 当前操作系统中可用的物理内存,单位为 KB。 | TotalVirtualMemorySize | 操作系统中的虚拟内存大小,单位为 KB。 | FreeVirtualMemory | 操作系统中可用的虚拟内存大小,单位为 KB。 | NumberOfProcesses | 当前正在运行的进程数量。 | Locale | 操作系统的区域设置,通常为语言和区域代码。 | LocalDateTime | 当前本地时间。 | BootDevice | 操作系统的启动设备(例如,硬盘驱动器)。 | WindowsDirectory | Windows 系统目录的路径。 | SystemDirectory | Windows 系统文件夹的路径,包含系统文件(如 .dll 文件)。 | SystemDrive | 操作系统的系统驱动器。 | ProductSuite | 操作系统的产品套件(例如 Terminal Server)。 | CountryCode | 操作系统的国家/地区代码。 | TimeZone | 操作系统所在的时区。 | TotalPhysicalMemory | 操作系统中总的物理内存大小,单位为字节。 | WindowsVersion | 操作系统版本字符串(例如 10.0)。 |
2. ProductType 属性的常见值
ProductType 属性表示操作系统的类型,它的常见值包括:
值 | 说明 | WinNT | 基本的 Windows NT 操作系统类型 | Workstation | 面向工作站的操作系统类型(如 Windows 10) | Server | 服务器操作系统类型(如 Windows Server) |
3. 示例:WQL 查询
以下是一些常见的 WQL 查询示例,用于获取操作系统的不同信息。
 - (xdrx-wmi-query "Win32_OperatingSystem")
- ("BootDevice" "BuildNumber" "BuildType" "CSCreationClassName" "CSDVersion" "CSName" "Caption" "CodeSet" "CountryCode" "CreationClassName" "CurrentTimeZone" "DataExecutionPrevention_32BitApplications" "DataExecutionPrevention_Available" "DataExecutionPrevention_Drivers" "DataExecutionPrevention_SupportPolicy" "Debug" "Description" "Distributed" "EncryptionLevel" "ForegroundApplicationBoost" "FreePhysicalMemory" "FreeSpaceInPagingFiles" "FreeVirtualMemory" "InstallDate" "LargeSystemCache" "LastBootUpTime" "LocalDateTime" "Locale" "MUILanguages" "Manufacturer" "MaxNumberOfProcesses" "MaxProcessMemorySize" "Name" "NumberOfLicensedUsers" "NumberOfProcesses" "NumberOfUsers" "OSArchitecture" "OSLanguage" "OSProductSuite" "OSType" "OperatingSystemSKU" "Organization" "OtherTypeDescription" "PAEEnabled" "PlusProductID" "PlusVersionNumber" "PortableOperatingSystem" "Primary" "ProductType" "RegisteredUser" "SerialNumber" "ServicePackMajorVersion" "ServicePackMinorVersion" "SizeStoredInPagingFiles" "Status" "SuiteMask" "SystemDevice" "SystemDirectory" "SystemDrive" "TotalSwapSpaceSize" "TotalVirtualMemorySize" "TotalVisibleMemorySize" "Version" "WindowsDirectory")
 - Command: (xdrx-wmi-query "Win32_OperatingSystem" "caption")
- "Microsoft Windows 10 专业版"
 - Command: (xdrx-wmi-query "Win32_OperatingSystem" "caption,locale,CurrentTimeZone,version,WindowsDirectory")
- ("Microsoft Windows 10 专业版" "0804" "480" "10.0.19045" "C:\\Windows")
Win32_Processor 详解
Win32_Processor 类是 Windows Management Instrumentation (WMI) 中用来提供计算机处理器信息的类。它包含了有关系统中 CPU(中央处理单元)的详细信息,包括名称、核心数、时钟速度、架构等内容。
1. Win32_Processor 类的常见属性
以下是 Win32_Processor 类的几个重要属性:
属性名称 | 描述 | Name | 处理器的名称(例如 "Intel(R) Core(TM) i7-9700K CPU @ 3.60GHz")。 | Manufacturer | 处理器的制造商(例如 "Intel" 或 "AMD")。 | MaxClockSpeed | 处理器的最大时钟速度(以 MHz 为单位)。 | NumberOfCores | 物理核心的数量。 | NumberOfLogicalProcessors | 逻辑处理器的数量(可能大于物理核心数量,因为支持超线程技术时,每个物理核心可以表现为多个逻辑处理器)。 | Architecture | 处理器的体系结构,例如 6(x64)表示 64 位架构,0 表示 x86。 | ProcessorId | 处理器的唯一标识符。 | L2CacheSize | L2 缓存的大小,以 KB 为单位。 | L3CacheSize | L3 缓存的大小,以 KB 为单位。 | SocketDesignation | 处理器插槽的标识(例如 "Socket 1")。 | Family | 处理器的家族(例如 Intel 的 "6" 家族)。 | SerialNumber | 处理器的序列号。 | ProcessorType | 处理器的类型(例如 "Central Processor")。 | Description | 处理器的简短描述,通常与 Name 属性相同。 | Status | 处理器的状态(如 OK)。 |
2. 示例查询
如果你想查询 CPU 信息,可以使用以下 WMI 查询:
SELECT * FROM Win32_Processor
该查询将返回所有处理器的详细信息。
3. 使用 WHERE 子句查询
你可以通过 WHERE 子句来过滤特定的 CPU 信息。例如: 获取处理器名称为特定字符串的 CPU 信息:
SELECT * FROM Win32_Processor WHERE Name = 'Intel(R) Core(TM) i7-9700K CPU @ 3.60GHz'获取时钟速度大于 2000 MHz 的 CPU:
SELECT * FROM Win32_Processor WHERE MaxClockSpeed > 2000获取逻辑处理器数量大于 4 的 CPU:
SELECT * FROM Win32_Processor WHERE NumberOfLogicalProcessors > 4
 - Command: (xdrx-wmi-query "Win32_Processor")
- ("AddressWidth" "Architecture" "AssetTag" "Availability" "Caption" "Characteristics" "ConfigManagerErrorCode" "ConfigManagerUserConfig" "CpuStatus" "CreationClassName" "CurrentClockSpeed" "CurrentVoltage" "DataWidth" "Description" "DeviceID" "ErrorCleared" "ErrorDescription" "ExtClock" "Family" "InstallDate" "L2CacheSize" "L2CacheSpeed" "L3CacheSize" "L3CacheSpeed" "LastErrorCode" "Level" "LoadPercentage" "Manufacturer" "MaxClockSpeed" "Name" "NumberOfCores" "NumberOfEnabledCore" "NumberOfLogicalProcessors" "OtherFamilyDescription" "PNPDeviceID" "PartNumber" "PowerManagementCapabilities" "PowerManagementSupported" "ProcessorId" "ProcessorType" "Revision" "Role" "SecondLevelAddressTranslationExtensions" "SerialNumber" "SocketDesignation" "Status" "StatusInfo" "Stepping" "SystemCreationClassName" "SystemName" "ThreadCount" "UniqueId" "UpgradeMethod" "VMMonitorModeExtensions" "Version" "VirtualizationFirmwareEnabled" "VoltageCaps")
 - Command: (xdrx-wmi-query "Win32_Processor" "name")
- "Intel(R) Core(TM) i9-10900K CPU @ 3.70GHz"
|