首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

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

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

如何使用WMI获取系统UUID?

代码语言:javascript
复制
SELECT UUID FROM Win32_ComputerSystemProduct

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

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

代码语言:javascript
复制
SELECT BootDevice FROM Win32_OperatingSystem

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

代码语言:javascript
复制
SELECT BuildNumber FROM Win32_OperatingSystem

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

代码语言:javascript
复制
SELECT BuildType FROM Win32_OperatingSystem

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

如何使用WMI获取系统名?

代码语言:javascript
复制
SELECT Caption FROM Win32_OperatingSystem

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

代码语言:javascript
复制
SELECT CodeSet FROM Win32_OperatingSystem

        936即对应于Simplified Chinese GBK。

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

代码语言:javascript
复制
SELECT CountryCode FROM Win32_OperatingSystem

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

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

代码语言:javascript
复制
SELECT CSDVersion FROM Win32_OperatingSystem

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

代码语言:javascript
复制
SELECT FreePhysicalMemory FROM Win32_OperatingSystem

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

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

代码语言:javascript
复制
SELECT FreeSpaceInPagingFiles FROM Win32_OperatingSystem

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

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

代码语言:javascript
复制
SELECT FreeVirtualMemory FROM Win32_OperatingSystem

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

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

代码语言:javascript
复制
SELECT LastBootUpTime FROM Win32_OperatingSystem

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

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

代码语言:javascript
复制
SELECT NumberOfProcesses FROM Win32_OperatingSystem

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

代码语言:javascript
复制
SELECT Organization FROM Win32_OperatingSystem

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

代码语言:javascript
复制
SELECT OSLanguage FROM Win32_OperatingSystem

        其对应的是Chinese (Simplified) – PRC

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

代码语言:javascript
复制
SELECT PortableOperatingSystem FROM Win32_OperatingSystem

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

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

代码语言:javascript
复制
SELECT Primary FROM Win32_OperatingSystem

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

代码语言:javascript
复制
SELECT ProductType FROM Win32_OperatingSystem

        它的值的释义是

Value

Meaning

1

Work Station

2

Domain Controller

3

Server

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

代码语言:javascript
复制
SELECT RegisteredUser FROM Win32_OperatingSystem

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

代码语言:javascript
复制
SELECT SerialNumber FROM Win32_OperatingSystem

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

代码语言:javascript
复制
SELECT SystemDevice FROM Win32_OperatingSystem

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

代码语言:javascript
复制
SELECT SystemDrive FROM Win32_OperatingSystem

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

代码语言:javascript
复制
SELECT TotalVisibleMemorySize FROM Win32_OperatingSystem

       该单位是以Kb为单位的。

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

代码语言:javascript
复制
SELECT * FROM Win32_QuickFixEngineering

        以上信息是来源于

代码语言:javascript
复制
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Hotfix
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates

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

举报
领券