WMI技术介绍和应用——查询系统信息和补丁包信息

        本文使用了《WMI技术介绍和应用——使用VC编写一个半同步查询WMI服务的类》中代码做为基础。本节只是列出了WQL语句,具体使用参看前面的例子。(转载请指明出于breaksoftware的csdn博客)

        本文主要知识点是Win32_OperatingSystem和Win32_QuickFixEngineering类。通过该类我们将可以获取部分系统设置。

如何使用WMI获取系统UUID?

SELECT UUID FROM Win32_ComputerSystemProduct

        该值可能为空。如果该值存在,其保存在HKEY_LOCAL_MACHINE\SOFTWARE\Intel\PIcon\AMTData\System UUID下。

如何使用WMI获取Windows操作系统启动硬盘设备名?

SELECT BootDevice FROM Win32_OperatingSystem

如何使用WMI获取系统Build版本号?

SELECT BuildNumber FROM Win32_OperatingSystem

如何使用WMI获取系统Build版本类型?

SELECT BuildType FROM Win32_OperatingSystem

        基于NT版本的操作系统又两种Build版本类型。一种是Checked,一种是Free(或者retail)。一般来说,Free版本就是零售版本,其二进制执行文件是经过了编译器优化的。而Checked版本,则是为了方便调试,将很多编译器优化禁用了,还增加了很多的调试检测代码。所以一般来说,Free版本的文件大小要比Checked版本文件大小要小。更详细的资料请参略http://msdn.microsoft.com/en-us/library/ff543450.aspx。

如何使用WMI获取系统名?

SELECT Caption FROM Win32_OperatingSystem

如何使用WMI获取系统的Code Page?

SELECT CodeSet FROM Win32_OperatingSystem

        936即对应于Simplified Chinese GBK。

如何使用WMI获取地区代码?

SELECT CountryCode FROM Win32_OperatingSystem

        86即对应于中国大陆。台湾地区是886,香港是852,澳门是853。

如何使用WMI获取系统的补丁包版本号?

SELECT CSDVersion FROM Win32_OperatingSystem

如何使用WMI获取系统的空闲的物理内存?

SELECT FreePhysicalMemory FROM Win32_OperatingSystem

        该单位是以Kb为单位的。它标识了当前系统有多少尚未使用且可用的内存。

如何使用WMI获取页文件空闲空间大小?

SELECT FreeSpaceInPagingFiles FROM Win32_OperatingSystem

        该数值也是以Kb为单位的。

如何使用WMI获取空闲的虚拟内存大小?

SELECT FreeVirtualMemory FROM Win32_OperatingSystem

        该数值也是以Kb为单位的。

如何使用WMI获取系统最后一次启动时间?

SELECT LastBootUpTime FROM Win32_OperatingSystem

        这表示我最近一次系统启动时间是2013年2月4号9时6分22秒。

如何使用WMI获取系统中正在运行的进程数量?

SELECT NumberOfProcesses FROM Win32_OperatingSystem

如何使用WMI获取系统注册用户的公司名?

SELECT Organization FROM Win32_OperatingSystem

如何使用WMI获取系统语言包种类?

SELECT OSLanguage FROM Win32_OperatingSystem

        其对应的是Chinese (Simplified) – PRC

如何使用WMI判断系统是否从外置USB设备启动的?

SELECT PortableOperatingSystem FROM Win32_OperatingSystem

        为True则代表是从USB设备中启动的。

如何使用WMI判断当前系统是否是主系统?

SELECT Primary FROM Win32_OperatingSystem

如何使用WMI判断系统类型?

SELECT ProductType FROM Win32_OperatingSystem

        它的值的释义是

Value

Meaning

1

Work Station

2

Domain Controller

3

Server

如何使用WMI获取系统的注册用户名?

SELECT RegisteredUser FROM Win32_OperatingSystem

如何使用WMI获取系统序列号?

SELECT SerialNumber FROM Win32_OperatingSystem

如何使用WMI获取系统安装在那个设别上?

SELECT SystemDevice FROM Win32_OperatingSystem

如何使用WMI获取系统盘盘符?

SELECT SystemDrive FROM Win32_OperatingSystem

如何使用WMI查询系统可以见内存大小?

SELECT TotalVisibleMemorySize FROM Win32_OperatingSystem

       该单位是以Kb为单位的。

如何使用WMI枚举已经安装的补丁信息?

SELECT * FROM Win32_QuickFixEngineering

        以上信息是来源于

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Hotfix
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates

        工程源码见《WMI技术介绍和应用——WMI概述》结尾。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券