前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WMI技术介绍和应用——查询系统信息

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

作者头像
方亮
发布2019-01-16 10:43:31
1.4K0
发布2019-01-16 10:43:31
举报
文章被收录于专栏:方亮

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

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

如何使用WMI查询是否开启了系统硬件安全设置密码?

代码语言:javascript
复制
SELECT AdminPasswordStatus FROM Win32_ComputerSystem

        我们开启了系统硬件安全设置密码,我们要修改BOIS信息将要求输入密码。这个功能一般很少用到。我电脑上没有设置这个密码,所以返回值是1。它其他值的解释是

Value

Meaning

1 (0x1)

Disabled

2 (0x2)

Enabled

3 (0x3)

Not Implemented

4 (0x4)

Unknown

如何使用WMI查询当前系统的启动方式?

代码语言:javascript
复制
SELECT BootupState FROM Win32_ComputerSystem

        一般情况下,我们都是正常启动系统的。但是如果我们系统出现问题,比如上次电脑是意外关闭的,我们往往会看到Windows会让我们选择启动方式:正常启动(Normal boot)、安全模式启动(Fail-safe boot)、带网络的安全模式启动(Fail-safe with network boot)等。如果我们想知道本次电脑的启动方式,就可以使用这个方法查询到。同时,我们可以由此推断,在安全模式下,WMI也是可以使用的。

如何使用WMI查询当前系统所属的域?

代码语言:javascript
复制
SELECT Domain FROM Win32_ComputerSystem

        我们在公司的环境下登录某个特定的环境,这个环境可能属于某个域。如果当前系统不在任何域中,则这个查询将返回工作组(WorkGroup)名字。那怎么辨别呢,我们看下面一个查询。

如何使用WMI查询当前系统是否属于某个域?

代码语言:javascript
复制
SELECT PartOfDomain FROM Win32_ComputerSystem

如何使用WMI查询当前系统属于哪个工作组?

代码语言:javascript
复制
SELECT Workgroup FROM Win32_ComputerSystem

        如果通过对PartOfDomain的查询得出FALSE的答案,则可以查询Workgroup字段,查看该系统属于哪个工作组。

如何使用WMI查询当前系统属于域或工作组中属于什么角色?

代码语言:javascript
复制
SELECT DomainRole FROM Win32_ComputerSystem

        这个字段的个释义是

Value

Meaning

0 (0x0)

Standalone Workstation

1 (0x1)

Member Workstation

2 (0x2)

Standalone Server

3 (0x3)

Member Server

4 (0x4)

Backup Domain Controller

5 (0x5)

Primary Domain Controller

如何使用WMI查询是否有红外端口?

代码语言:javascript
复制
SELECT InfraredSupported FROM Win32_ComputerSystem

        FALSE代表我电脑上没有红外端口,反之返回的是TRUE。

如何使用WMI查询是否设置了键盘密码(Keyboard Password)?

代码语言:javascript
复制
SELECT KeyboardPasswordStatus FROM Win32_ComputerSystem

       它的值的释义是

Value

Meaning

0 (0x0)

Disabled

1 (0x1)

Enabled

2 (0x2)

Not Implemented

3 (0x3)

Unknown

 如何使用WMI查询当前电脑的制造商信息?

代码语言:javascript
复制
SELECT Manufacturer FROM Win32_ComputerSystem

        如果是组装电脑,该条信息返回的是主板厂商名称。

  如何使用WMI查询当前电脑的产品名称?

代码语言:javascript
复制
SELECT Model FROM Win32_ComputerSystem

        结合以上信息,可以知道我电脑是Dell的OptiPlex 780。如果是组装电脑,该条数据将返回主板型号。        

如何使用WMI查询当前系统的是否开启了网络服务模式?

代码语言:javascript
复制
SELECT NetworkServerModeEnabled FROM Win32_ComputerSystem

如何使用WMI获取当前系统类型?

代码语言:javascript
复制
SELECT SystemType FROM Win32_ComputerSystem

        以上值说明当前系统是X86体系的系统。它还可能是:"x64-based PC"、"X86-based PC"、"MIPS-based PC"、"Alpha-based PC"、"Power PC"、"SH-x PC"、"StrongARM PC"、"64-bit Intel PC"、"64-bit Alpha PC"、"Unknown"、"X86-Nec98 PC"。

如何使用WMI查询当前电脑的物理内存大小?

代码语言:javascript
复制
SELECT TotalPhysicalMemory FROM Win32_ComputerSystem

        该大小是以Bytes为单位的。

如何使用WMI获取OEM厂商的Logo?

代码语言:javascript
复制
SELECT OEMLogoBitmap FROM Win32_ComputerSystem

        这段内存信息可以见得是一个BMP文件。它就是

如何使用WMI获得上图中“技术支持信息”按钮点开后的信息?

代码语言:javascript
复制
SELECT SupportContactDescription FROM Win32_ComputerSystem

如何使用WMI查询是否设置了开机密码?

代码语言:javascript
复制
SELECT PowerOnPasswordStatus FROM Win32_ComputerSystem

       如果设置了开机密码,我们开机后,会进入黑屏,让我们输入密码。如果密码输入错了就不会启动系统。一般鲜见设置这个密码。它的释义是

Value

Meaning

0 (0x0)

Disabled

1 (0x1)

Enabled

2 (0x2)

Not Implemented

3 (0x3)

Unknown

如何使用WMI查询电脑是笔记本还是台式机?

代码语言:javascript
复制
SELECT PCSystemType FROM Win32_ComputerSystem

        该属性只有在XP以上的系统中可以使用。它的释义是

Value

Meaning

0 (0x0)

Unspecified

1 (0x1)

Desktop

2 (0x2)

Mobile

3 (0x3)

Workstation

4 (0x4)

Enterprise Server

5 (0x5)

Small Office and Home Office (SOHO) Server

6 (0x6)

Appliance PC

7 (0x7)

Performance Server

8 (0x8)

Maximum

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2013年02月05日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档