如何查询 WMI 命名空间?
如何查询 WMI 命名空间?
所以我了解 WMI 命名空间,因为我读到它们存在,并且我知道我可以连接说:
root\cimv2
我的问题是,如果我不知道那里有哪些命名空间,我将如何查询可用的命名空间?
我只是想探索 WMI,而不必查找每个名称空间。
我正在使用 WBEMtest,但我会使用任何东西,.NET、winapi.h,你有什么。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
我知道您已经得到了答案,但想要展示在 PowerShell 中获取命名空间列表是多么容易:
I understand that you got your answer but wanted to show how easy it is in PowerShell to get a list of namespaces:
要枚举所有命名空间,您必须首先连接到
root
命名空间,查询所有__NAMESPACE
实例,并对每个实例递归地重复此过程。检查这些示例
Delphi
VbScript
To enumerate all the namespaces, you must first connect to the
root
namespace, query for all the__NAMESPACE
instances, and for each instance recursively repeat this process.check these samples
Delphi
VbScript
对于 Python(安装了必需的 WMI 和 pyWin32 扩展):
For Python (with the requisite WMI and pyWin32 extensions installed):
列出 C# 中名为 server 的服务器的所有(根)命名空间的所有命名空间
Name
属性值(在 LINQPad):请注意,
Dump
方法仅输出一个值;如果您不使用 LINQPad,则需要对Name
属性值执行其他操作。To list all the namespace
Name
property values for all (root) namespaces for a server named server in C# (in LINQPad):Note that the
Dump
method just outputs a value; if you're not using LINQPad you'd want to do something else with theName
property value.从 powershell 中使用
Get-CimInstance -Query "SELECT * FROM __NAMESPACE" -Namespace "root"
。这也适用于 Windows Nano Server
Use
Get-CimInstance -Query "SELECT * FROM __NAMESPACE" -Namespace "root"
from powershell.This also works for Windows Nano Server
您可以使用VBScript从
root
获取所有命名空间
。这是示例脚本
预期输出
You can use VBScript to get all
Namespaces
fromroot
.Here is the sample script
Expected output