WMI入门教程之WMI中的类在哪里?

Powershell专栏: html

https://www.jb51.net/list/list_234_1.htmshell

https://www.pstips.net/get-wmiobject-becomes-obsolete.htmlide

 

原文:  https://www.jb51.net/article/56233.htm工具

使用WMI归根究竟是对WMI类的访问,如何找到合适的类是其中关键的一步。我一直在为找不到合适的类和命名空间苦恼。你也有这样的问题吗?网站

类层次结构搜索引擎

  WMI的类是以命名空间和继承层次方式组织的,呈树形结构。命名空间的根是root,在它的下面还有十几个命名空间,最经常使用的是root\cimv2。命名空间的信息存储在静态类__Namespace类中,要查询当前命名空间下的全部命名空间,能够查看__Namespace类的实例。如下是在个人机器上使用PowerShell查询到的命名空间:
spa

复制代码 代码以下:

PS C:\Users\idsswtt> Get-WmiObject -Class __namespace -Namespace root | select name

 

name
----
subscription
DEFAULT
cimv2
Cli
Nap
MicrosoftIISv2
SECURITY
SmsDm
CCMVDI
RSOP
WebAdministration
ccm
WMI
directory
Policy
virtualization
Interop
Hardware
ServiceModel
Microsoft
aspnet
.net

 

关于命名空间更详细的信息,能够写一个递归的脚原本取得,或者从WMI入门(二):如何使用WMI中提到的WMI CIM Studio工具中查到。code

经常使用WMI类htm

  WMI体系结构中有成百上千个类。咱们常常用到的只有其中一部分。其中有些是用来查询实例的,另外一些用来查询类的Schema的。除了上面提到的__Namespace类,咱们还会用到__Win32Provider类,来查询当前系统中都有哪些提供程序。这两个类是系统类。

  此外,还有两类WMI类咱们常常用到:CIM_*类和Win32_*类。前者是WMI的核心类和公共类,不少时候也被称为CIM核心类和公共类。后者是Win32扩展类,咱们查询实例多在Win32扩展类中查询。例如Win32_Product、Win32_LogicalDisk等。

WMI类查找手册?

  很遗憾的是,到目前为止。我没有发现一个好用的WMI类查找手册。但在微软MSDN网站上,有一个分类。咱们能够依照这个分类来作查询。如下几个连接是我常常用到的,贴在这里,但愿你能用到。

  WMI Reference

  Win32 Classes

  WMI Providers

结语

  看完上面我写的这些东西,若是你仍是找不到你要的类,那你就只能怪微软了。我以为微软为WMI作的仍是太少,至少在类查询这一起是这样。在微软为WMI投入更多以前,咱们只能依赖经验和搜索引擎来寻找适当的类了。

相关文章
相关标签/搜索