问题标签 [wbem]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wbem - 提供符合 SMI-S 的客户端 API 的 CIM/WBEM 包
如何确定 CIM/WBEM 包(例如 OpenPegasus、OpenWBEM、pyWBEM、SBLIM)是否提供符合 SMI-S 的客户端 API 来开发和管理应用程序。
这些都符合 CIM,但我无法确定是否支持 SMI-S。
以及如何将 SMI-S 客户端 API 支持包含在符合 CIM 的 CIM/WBEM 包中?
redirect - VBScript 将远程 exe 输出重定向到本地系统
我正在使用 vbscript 在远程系统上运行 exe。首先我连接到远程系统。
然后我在远程系统上创建一个进程。
现在这段代码工作正常。但是,exe 在控制台上提供了一些输出,我想将其重定向到本地系统上的文件。
我尝试了以下选项
虽然上述选项根本不起作用,
或者
此代码在远程系统中创建了该文件。但是,我希望在运行 vbscript 的本地系统中创建文件。有什么帮助吗??
authorize.net-cim - wbemcli Http 异常:无法连接到服务器
在运行以下命令时,我在 Ubuntu 14.04 上收到上述错误 -
wbemcli ecn "http://:5988/root/cimv2"
错误 - wbemcli Http 异常:无法连接到服务器
事实上,每个 wbemcli 命令都会给出这个错误。
任何解决方案的想法或想法来克服这个?
c# - 使用 C# 从 WMI 类中的属性获取 CIM 数据类型
因此,我设法编写了一个类,它允许我访问 WMI 并获取有关类的信息,包括它们的方法,以及类及其后续方法的所有属性。我无法在 C# 中的 System.Management 或 System.Management.Instrumentation 类下找到任何允许我在主类或方法中访问 WMI 中属性的 CIM 数据类型的内容。有谁知道我可以获得这些数据类型的方法?
c++ - WBEM OpenPegasus 实例枚举限制
我们正在使用 C++ OpenPegasus 库从存储阵列中获取数据。它是为 Windows 编译的 2.13.0 版本。
我对具有大量对象的存储阵列的实例或实例路径的枚举有问题。我只得到 Pegasus::CIMException 没有消息和错误代码:
我的主要问题是。有人知道 OpenPegasus 客户端是否对枚举对象有一些限制吗?可以在版本 2.13.0 中枚举的最大对象数之类的东西?不幸的是,我在网上找不到任何信息。
感谢您提供任何提示,信息。
windows - 与非英语 WMI 通信
我最近发现 WMi 是本地化的。这意味着由于数字中的逗号/点,我的 WQL 查询和返回的结果有时不正确。由于有很多用户使用德语/法语/日语窗口,这一定是经常遇到的问题。
如何在不需要 Windows 的每种语言突变的特殊情况下与 WMI 通信?
更新:根据 RRUZ 的回答和我在网上找到的几篇文章,本地化信息似乎存储在包含本地化标识符的子命名空间中。有两件事我还不清楚。
- 似乎法语 Windows 上的基本类已经返回带有十进制逗号而不是点的数字。这是否意味着使用的默认语言环境始终是系统之一?
- 上一个问题中描述的行为让我想知道从一个系统转换到另一个系统的数字在哪里?它会发生在框架本身吗?
- 是否存在所有 Windows 实例上的通用语言环境?从我所读到的,似乎我不能期望请求任何语言环境并获得本地化结果。
wmi - 是否有独立于操作系统的方式将 iSCSI 名称 (iqn) 映射到 IP?
我有一系列 iSCSI 名称(启动器),通常如下所示:
例如
我想以编程方式将此类 iSCSI 名称映射到它们各自的 IP 地址和/或主机名- 有没有办法做到这一点?理想情况下:
- 我想使用例如 CIM-XML/WBEM/SMI-S 或允许我以独立于平台的方式执行映射的类似协议来获取主机名;
- 我想避免将任何自定义代码部署到主机;
- 我想避免手动连接到网络中每个可能的主机并检查它的 iSCSI 名称是否与所讨论的主机匹配。
- 首选 Java 或 C#。
请注意,该unique name
部分通常是主机名,但不能保证这一点。或者,iSCSI 名称可以使用EUI 格式,例如:
在 Windows 上,“iSCSI Initiator”控制面板实用程序或iscsicli.exe
命令可用于检索机器的 IQN,因此理论上我可以迭代所有可能的(Windows)主机并查看 IQN 值是否匹配;但是,这听起来不是最佳解决方案。
我还转储了所有 WMI 和CIM 类以查找此映射,但在那里找不到。
有没有合适的方法来做到这一点?
c# - 如何使用 WinRM 从 Linux 主机检索 CIM 实例?
我正在使用 WinRM API 试图从运行 Windows 或 Linux 的多个主机收集一些 CIM 实例。我的代码在连接到 Windows 主机时工作正常,但如果我尝试连接到运行 SFCB CIM 服务器的 Linux 机器,则会引发异常。我可以通过 WBEM 很好地从 Linux 主机检索 CIM 实例,但不能通过 WS-MAN/WinRM。
这是从 Windows 主机获取的示例代码CIM_OperatingSystem
- 这很好用:
如果remoteHost
指向 Linux 机器(在我的示例中为 openSUSE VM),会发生以下情况:
remoteHost = "myLinuxHost"
如果我只指定主机名,即session.Enumerate()
失败:
未处理的异常:System.IO.FileNotFoundException:找不到网络路径。在 WSManAutomation.IWSManSession.Enumerate(对象 resourceUri、字符串过滤器、字符串方言、Int32 标志)
我可以成功 ping 机器,所以它应该是可见的。但是,主机名仅映射到我的 Windowshosts
文件中的 IP。如果我尝试使用 PowerShell 创建到这台机器的会话,也会发生错误:
new-cimsession :WinRM 无法处理该请求。使用 Kerberos 身份验证时出现以下错误:找不到计算机 myLinuxHost。验证计算机是否存在于网络上,并且提供的名称拼写正确。
- 如果我指定了完整的主机 URL(一个我可以使用 WBEM 检索 CIM 实例的 URL),即,
remoteHost = "https://<ip>:5989"
或者remoteHost = "https://myLinuxHost:5989"
枚举失败并显示:
未处理的异常:System.Runtime.InteropServices.COMException:WSManAutomation.IWSManSession.Enumerate(对象 resourceUri,字符串过滤器,字符串方言,Int32 标志)发生安全错误
细节:
我究竟做错了什么?
c++ - 来自 ExecMethod 的错误 WBEM_E_INVALID_METHOD_PARAMETERS
我正在尝试使用SoftwareLicensingService::InstallProductKey通过服务中的 WMI/C++ 在 Windows 7 上安装产品密钥。但是,每次我尝试通过IWbemServices::ExecMethod调用该方法时,我都会得到0x8004102f,即WBEM_E_INVALID_METHOD_PARAMETERS。我认为这与我传递的产品密钥有关,但此后我尝试了类似的Win32_WindowsProductActivation::ActivateOnline [这是 XP 上可用的无参数方法] 的类似代码,但出现了相同的错误。有谁知道我下面的代码片段中有什么可疑之处(为了简短起见,我跳过了一些清理代码)?然而,相同的代码序列成功地调用了其他 WMI 方法。
}
bash - wbemcli:键/值对输出
如果我wbemcli
用来枚举所有实例,我会得到类似的东西:
我怎样才能打电话wbemcli
只得到一件物品(即Name
)?而不是一切。
该-t
选项说:
-t
将数组 ([])、引用 (&) 和关键属性 (#) 指示符附加到属性名称
但我无法利用它对我有利。
有没有办法以键/值对格式检索此信息?
或者也许将输出传送到一个数组或我只能从中获取我需要的东西的东西?
当我将输出放入数组时,所有数据都存储在第一个元素中${a[0]}
。
编辑 这是一个输出示例:
输出通常采用这种格式。
如果查询返回多个对象,它们将被分组,并且所有对象都将具有相同的成员及其适当的值。