使用WMIC获取系统硬件信息

WMIC是扩展WMI(Windows Management Instrumentation,Windows管理工具),提供了从命令行接口和批命令脚本执行系统管理的支持。

在日常工作中,我们可以通过WMIC来获取计算机的硬件信息用于一些统计和分析。

使用WMIC

直接在cmd中输入wmic即可进入交互式命令行:

1
2
C:\Users>wmic
wmic:root\cli>

获取硬盘信息

硬盘信息可以通过输入diskdrive来获取相关信息

1
2
3
4
5
wmic:root\cli>diskdrive
Availability BytesPerSector Capabilities CapabilityDescriptions Caption CompressionMethod ConfigManagerErrorCode ConfigManagerUserConfig CreationClassName DefaultBlockSize Description DeviceID ErrorCleared ErrorDescription ErrorMethodology FirmwareRevision Index InstallDate InterfaceType LastErrorCode Manufacturer MaxBlockSize MaxMediaSize MediaLoaded MediaType MinBlockSize Model Name NeedsCleaning NumberOfMediaSupported Partitions PNPDeviceID PowerManagementCapabilities PowerManagementSupported SCSIBus SCSILogicalUnit SCSIPort SCSITargetId SectorsPerTrack SerialNumber Signature Size Status StatusInfo SystemCreationClassName SystemName TotalCylinders TotalHeads TotalSectors TotalTracks TracksPerCylinder
512 {3, 4, 7} {"Random Access", "Supports Writing", "Supports Removable Media"} SanDisk Ultra Fit USB Device 0 FALSE Win32_DiskDrive 磁盘驱动器 \\.\PHYSICALDRIVE2 1.00 2 USB (标准磁盘驱动器) TRUE Removable Media SanDisk Ultra Fit USB Device \\.\PHYSICALDRIVE2 1 USBSTOR\DISK&VEN_SANDISK&PROD_ULTRA_FIT&REV_1.00\4C530001140919121090&0 0 0 0 0 63 4C530001140919121090 4047072857 250443325440 OK Win32_ComputerSystem KFZXZHENGKQ 30448 255 489147120 7764240 255
512 {3, 4, 10} {"Random Access", "Supports Writing", "SMART Notification"} PLEXTOR PX-128M6G-2242 0 FALSE Win32_DiskDrive 磁盘驱动器 \\.\PHYSICALDRIVE1 1.01 1 IDE (标准磁盘驱动器) TRUE Fixed hard disk media PLEXTOR PX-128M6G-2242 \\.\PHYSICALDRIVE1 2 SCSI\DISK&VEN_PLEXTOR&PROD_PX-128M6G-2242\4&28BCE847&0&010000 1 0 0 0 63 P02512105359 1914799601 128034708480 OK Win32_ComputerSystem KFZXZHENGKQ 15566 255 250067790 3969330 255
512 {3, 4, 10} {"Random Access", "Supports Writing", "SMART Notification"} LITEON LCH-256V2S 0 FALSE Win32_DiskDrive 磁盘驱动器 \\.\PHYSICALDRIVE0 3C87901 0 IDE (标准磁盘驱动器) TRUE Fixed hard disk media LITEON LCH-256V2S \\.\PHYSICALDRIVE0 2 SCSI\DISK&VEN_LITEON&PROD_LCH-256V2S\4&28BCE847&0&000000 0 0 0 0 63 SD0F66157L1TH57102RR 2070240311 256052966400 OK Win32_ComputerSystem KFZXZHENGKQ 31130 255 500103450 7938150 255

信息有点多,使用\?来看下有什么选项:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
wmic:root\cli>diskdrive /?

DISKDRIVE - 物理磁盘驱动器管理。

提示: BNF 的别名用法。
(<别名> [WMI 对象] | <别名> [<路径 where>] | [<别名>] <路径 where>) [<谓词子句>]。

用法:

DISKDRIVE ASSOC [<格式说明符>]
DISKDRIVE CREATE <分配列表>
DISKDRIVE DELETE
DISKDRIVE GET [<属性列表>] [<获取开关>]
DISKDRIVE LIST [<列表格式>] [<列表开关>]

根据帮助,我们可以使用get来获取需要的信息,比如获取容量信息:

1
2
3
4
5
wmic:root\cli>diskdrive get Size
Size
250443325440
128034708480
256052966400

获取内存信息

内存信息可以使用memorychip来获取,我们试下不进入CLI交互模式(在命令前加上wmic即可):

1
2
3
4
C:\Users>wmic memorychip
Attributes BankLabel Capacity Caption ConfiguredClockSpeed ConfiguredVoltage CreationClassName DataWidth Description DeviceLocator FormFactor HotSwappable InstallDate InterleaveDataDepth InterleavePosition Manufacturer MaxVoltage MemoryType MinVoltage Model Name OtherIdentifyingInfo PartNumber PositionInRow PoweredOn Removable Replaceable SerialNumber SKU SMBIOSMemoryType Speed Status Tag TotalWidth TypeDetail Version
0 BANK 0 4294967296 物理内存 1600 Win32_PhysicalMemory 64 物理内存 ChannelA-DIMM0 12 Samsung 24 物理内存 K4B8G1646B-MYK0 78111110 24 1600 Physical Memory 0 64 128
0 BANK 2 4294967296 物理内存 1600 Win32_PhysicalMemory 64 物理内存 ChannelB-DIMM0 12 Samsung 24 物理内存 M471B5173QH0-YK0 18128315 24 1600 Physical Memory 1 64 128

获取内存的容量信息:

1
2
3
4
C:\Users>wmic memorychip get Capacity
Capacity
4294967296
4294967296

WMIC其他功能

通过\?可以发现WMIC的其他所有功能,有需要的话可以关注下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
wmic:root\cli>/?

[全局开关] <命令>

可以使用以下全局开关:
/NAMESPACE 别名在其上操作的命名空间的路径。
/ROLE 包含别名定义的角色的路径。
/NODE 别名在其上操作的服务器。
/IMPLEVEL 客户端模拟级别。
/AUTHLEVEL 客户端身份验证级别。
/LOCALE 客户端应使用的语言 ID。
/PRIVILEGES 启用或禁用所有权限。
/TRACE 将调试信息输出到 stderr。
/RECORD 记录所有输入命令和输出内容。
/INTERACTIVE 设置或重置交互模式。
/FAILFAST 设置或重置 FailFast 模式。
/USER 会话期间要使用的用户。
/PASSWORD 登录会话时要使用的密码。
/OUTPUT 指定输出重定向模式。
/APPEND 指定输出重定向模式。
/AGGREGATE 设置或重置聚合模式。
/AUTHORITY 指定连接的 <授权类型>。
/?[:<BRIEF|FULL>] 用法信息。

有关特定全局开关的详细信息,请键入: 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 服务操作参数管理。

有关特定别名的详细信息,请键入: alias /?

CLASS - 按 Esc 键可获取完整 WMI 架构。
PATH - 按 Esc 键可获取完整 WMI 对象路径。
CONTEXT - 显示所有全局开关的状态。
QUIT/EXIT - 退出程序。

有关 CLASS/PATH/CONTEXT 的详细信息,请键入: (CLASS | PATH | CONTEXT) /?