在WMI内部,使用了类似于驱动器中的文件夹与文件的管理方式。命名空间类似于文件夹,其中的CIM类则类似于文件夹。所有的CIM类都被分门别类地归入相应的命名空间,同一命名空间内不允许有重名的类存在,不同的两上命名空间下则允许重名的类出现。整个空间的根是名为root,其路径也采用了类似于驱动器路径的表达方式,比如\\MyWorkStation\root\cimv2:Win32_Processor就表示了MyWorkStation这台主机中root下cimv2空间中的Win32_Processor这个CIM类。这样的路径表示支持相对路径、绝对路径的表示方法,以当前连接的主机、当前打开的空间作为相对路径的原点,并忽略路径名称的大小写。
这个命名空间的结构可以通过一个类似于WMI CIM Studio这样的工具查看,还可以输入交互式的WQL语句进行联机查询。同一命名空间中的类保持了相应的继承关系,我们也可以添加自定义的命名空间和类。
这样的命名空间名和路径名就是我们在创建ManagementScope与ManagementPath等对象时,要确定对象所处位置的参数之一。
这是在我的主机上运行CIM Studio时的界面

这是在我的VC#的IDE中访问WMI管理空间的界面显示

-
WMI相关下载 我下载了其中的WMI Administrative Tools(只有英文版),它包括了CIM Studio(它以HTM页方式显示结果);还下载了WMI Extensions for VS.NET 2003 Server Explorer,它让我可以在VS.NET的IDE里象管理数据库一样访问CIM库。
-
Windows Platform SDK更新 下载最新的WMI SDK。
分享到:
相关推荐
4. **WMI查询语言(WQL)**:WMI提供了一种专为查询设计的语言,称为WQL,它类似于SQL,用于从WMI命名空间中检索信息。例如,`SELECT * FROM Win32_OperatingSystem` 将返回操作系统的所有信息。 5. **WMI脚本ing**...
_bstr_t(L"\\\\.\\root\\cimv2"), // WMI命名空间 NULL, // 用户名 NULL, // 密码 NULL, // 指定安全上下文 0, // 额外标志 NULL, // 服务安全代理 NULL, // 代理安全级别 &pSvc); // 返回的服务指针 if ...
- **定义**:文件夹目标是DFS命名空间中的共享文件夹或另一个命名空间的UNC路径。 - **作用**:存储实际的数据和内容。 - **示例**:在图1中,名为“Tools”的文件夹有两个文件夹目标:“\\LDN-SVR-01\Tools”和“\\...
这里使用了`x_wmi`库来跨命名空间访问注册表,`RegQueryKey`方法则用于查询指定路径下的注册表键。 总之,WMI提供了一个灵活且功能强大的方式来获取和操作Windows系统的软硬件信息,包括系统用户、已安装软件、硬件...
这包括选择目标计算机、命名空间、类以及查询属性等。 5. **事件监听**: 除了简单的查询,工具可能还支持创建事件监听器,这使得应用程序能够实时响应系统事件,例如硬件添加、软件安装等。 6. **错误处理和调试**...
在C#中,我们主要使用System.Management命名空间中的类来操作WMI。首先,我们需要导入这个命名空间: ```csharp using System.Management; ``` 1. **连接远程计算机** 要连接到远程计算机,我们可以创建...
2. **选择目标服务**:接下来,我们指定我们要查询的WMIService,通常是本地计算机的“root\CIMV2”命名空间,它包含了大部分的管理信息。 ```python wmi_service = c.Win32_Process() ``` 3. **执行WQL查询**:...
WMI(Windows Management Instrumentation,Windows管理规范)是一种核心的服务与接口集合,用于访问Windows操作系统中的管理数据。通过WMI,管理员和开发人员可以编写脚本来获取系统信息、执行操作及监控事件等。 ...
例如,`SWbemServices`对象提供了一个连接到WMI命名空间的接口,而`SWbemObjectSet`和`SWbemObjectPath`则分别用于获取和定位特定的WMI资源实例。 #### 三、WMI脚本模板的应用场景 WMI脚本库的强大之处在于其提供...
2. **选择WMI命名空间**:WMI信息分布在不同的命名空间中,如`root\CIMV2`是最常用的,包含了大多数系统信息。根据需求,可以选择合适的命名空间。 3. **查询WMI类**:使用`ManagementObjectSearcher`类,你可以...
C#中的`System.Management`命名空间提供了访问WMI的类和方法。例如,`ManagementEventWatcher`类可以用于监视特定的WMI事件,而`ManagementObjectSearcher`类则能帮助我们查找和筛选满足特定条件的管理对象。在实现...
`"root\\default"`是WMI路径,表示我们正在查询默认命名空间,`"SELECT * FROM Registry"`是WQL(WMI查询语言)语句,用于获取`Registry`类的所有实例。然后,遍历查询结果,打印出每个注册表项的键名和数据。 然而...
3. **WQL**:WMI查询语言类似于SQL,用于从WMI命名空间中检索信息。例如,`SELECT * FROM Win32_OperatingSystem` 查询返回关于操作系统的详细信息。 4. **使用WMI**:在编程中,可以通过.NET Framework的System....
要使用C#调用WMI,你需要引入System.Management命名空间,该命名空间包含了与WMI交互所需的所有类。以下是一个基本的步骤: 1. **连接到WMI**: 首先,我们需要创建一个ManagementScope对象,指定本地或远程计算机的...
接着,使用`ConnectServer`方法连接到指定的命名空间,例如`ROOT\CIMV2`,这是默认的WMI命名空间,包含了丰富的系统信息。 2. **获取目标类的对象**: 在`ROOT\CIMV2`命名空间下,你可以找到一个名为`StdRegProv`...
在C#中,首先需要创建一个ManagementScope对象来指定要连接的WMI命名空间,通常为"\\.\root\CIMV2"。然后,创建一个ManagementObjectSearcher对象,用于执行WQL(WMI查询语言)查询。最后,使用...
在这个例子中,我们创建了一个 `SWbemLocator` 对象,用于连接到本地的 WMI 服务器("." 表示本地机器),并指定了命名空间 "root\CIMV2"。接着,我们执行了一个查询,获取所有 `Win32_Process` 类的实例,这些实例...
这通常涉及指定目标计算机的名称、安全认证信息以及可能需要的命名空间路径(如`\\localhost\root\CIMV2`)。 2. **查询WMI数据**:接着,使用WMI连接对象执行查询,以获取`Win32_Process`类的对象集合。这可以通过...
在C#中,我们可以利用System.Management命名空间中的ManagementObjectSearcher类来查询这些信息。 1. **导入必要的命名空间** 在C#代码中,我们需要导入以下命名空间: ```csharp using System; using System....
2. **ManagementScope对象**: 这个对象代表了一个WMI命名空间的连接。创建一个ManagementScope对象,设置其ConnectionString属性为远程计算机的路径,可以建立到远程计算机的连接。 3. **ManagementPath对象**: 它...