问题标签 [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.

0 投票
2 回答
1056 浏览

c++ - 打开 Pegasus 2.14.1 客户端连接问题

我想构建新版本的 Open Pegasus Client (2.14.1)。不幸的是,我面临一些构建问题。有人知道这些问题的一些解决方法吗?

我的环境是:

  • 操作系统:Windows 8.1 企业版
  • 制作版本:GNU Make 3.81
  • Pegasus 源版本:2.14.1
  • OpenSSL 版本:1.0.2a

我的场景很简单:

  1. 我已经下载了 Open Pegasus 2.14.1 的源代码
  2. 我已经下载了 OpenSSL 二进制文件(实际版本 v1.0.2a)。
  3. 提取 Pegasus 源代码后,我使用以下设置设置环境:

    /li>
  4. 下一步是构建 mu.exe 工具。所以,我已经执行了“make buildmu”=>成功构建并复制到“/bin”文件夹。我想这样构建 Pegasus:“make build”=> 一段时间后我得到了这个错误:

    Message.cpp(433):错误 C2065:'magic':未声明的标识符

  5. 我试图解决这个问题。我发现魔术常数是在 \pegasus-2.14.1\pegasus\src\Pegasus\Common\Linkable.h 文件中定义的,所以我有两个选择:a)将构建配置切换到 DEBUG(设置 PEGASUS_DEBUG=true) b)删除 DEBUG Linkable.h 文件中第 62 行的条件 然后,我尝试再次构建 Pegasus,不幸的是我收到了这个错误:

    错误 LNK2005:_OPENSSL_Applink 已在 SSLContext.obj 中定义

在这一点上,我不知道如何解决这个问题。我只是试图删除这些行:

来自 SSLContextRep.h 文件。在这个修改之后,我能够获得 Pegasus 客户端二进制文件。但是这些二进制文件在没有 SSL 的情况下工作,当我想使用 SSL 通信时,我总是收到错误:“Pegasus Exception: 'Cannot connect to 10.199.1.139:5989. Connection failed.'.”,所以我认为这是因为我的代码修改在 SSLContextRep.h 中。

Pegasus Tracer 的输出:

SSL:未连接 1 错误:140740BF:SSL 例程:SSL23_CLIENT_HELLO:没有可用的协议 SSL:已删除 SSL 套接字

有人知道有什么问题吗?是否有人拥有一些(更好的)Windows 环境配置步骤来构建 OpenPegasus?

非常感谢您提供的任何帮助。


编辑:

我需要能够在没有证书的情况下工作。因为我正在使用 SSL 与各种存储阵列进行通信,但我没有他们的证书。因此我使用 SSLContext 的这个构造函数:

这种方法在 OpenPegasus 2.13 版本中对我很有效。

0 投票
0 回答
184 浏览

c++ - 开放飞马协会提供者

我正在使用 openpegasus 开发 SMI-S 提供程序,

当我尝试

控制台显示 CIM_StoragePool 的实例列表,

这意味着enumerateInstanceNames实例提供程序中的方法有效,

但是,当我选择一个实例时,什么也没有发生。

我在关联提供程序中的关联方法没有被调用。

我在下面的 mof 中注册了关联提供者:

有没有人可以帮忙?多谢!

0 投票
1 回答
121 浏览

ibm-midrange - IBM i (as400) CIM 和以太网接口

我正在尝试使用 wbemcli 命令检查远程 IBM i (as400) 机器上的以太网卡状态:

大量字段似乎描述了卡的状态,其中大部分是空的:

唯一的非空字段只包含整数,我真的不知道该怎么办。有人有线索吗?我正在编写一个脚本,假设 OperationalStatus=2 表示“UP”,否则表示“DOWN”,但这并不可靠。

谢谢,

0 投票
0 回答
142 浏览

storage - CIM_VolumeView 不是 EMC SMI-S 提供程序 8.1 版本的有效类名

一年前,我使用 CIM_VolumeView className 来获取有关我的 EMC VMAX SMI-S 提供程序 4.6.x 版本上的 LUN 和相关 StoragPool 的所有信息。

我收到错误消息:CIM_VolumeView is not a valid className for namespace root/emc当我尝试针对 SMI-S 提供程序 8.1x 版本使用此类名称时。

有人可以为我提供正确的类名以获取有关 EMC VMAX SMI-S 提供程序 8.1.x 版本的相同信息。

0 投票
1 回答
356 浏览

c++ - MofComp 订阅不工作和保存的文件表现奇怪

我正在尝试注册此文件(mytest3.mof):

使用命令PS C:\windows\system32\wbem> mofcomp mytest3.mof

并接收此输出:

这已经发生了几次,我可以看到该事件没有被注册。

有谁知道我为什么看到关于 的消息#PRAGMA AUTORECROVER?Youc 清楚地看到该行已包含在文件中,但系统仍然抱怨它不存在...我不确定这是否是事件未注册的部分原因,但似乎它们可能是相关的。

作为一个可能有助于解释的额外细节 - 当我保存mytset3.mofwbem文件夹中时,在我进入文件夹之前找不到该文件,创建一个新的空白文本文件并将其另存为mytest3.mof. 在我这样做之前(即使我已经保存了文档),PC 的行为就像这个文件不存在一样......这里发生了什么?这可能与文件夹权限有关吗?

0 投票
0 回答
105 浏览

dll - 如何在不同编译器的另一个 DLL 启动的 dll 中使用 WBEM?

我有一个使用 WBEM 由 VC6 编译的工作 DLL(A)。我想从另一个DLL(B:由VC2013编译)调用DLL(A)中的函数。它在 IWbemLocator :: ConnectServer() 上崩溃。

0 投票
1 回答
246 浏览

c++ - 来自 IWbemClassObject::Get 的未知异常

我试图在持久化 WMI 对象后立即从它中检索“ID”。

建立实例后,我像这样坚持它:

一切都很好——它进入了 WMI。然后我使用 my pResult,它是IWbemCallResult **ppCallResult这样调用IWbemCallResult::GetResultObject的:

伟大的。hResS_OK,我似乎有一个实例,我可以通过使用IWbemClassObject::Get...检索属性,所以我这样做:

无论实际作为“ID”存在的值如何,VARIANT 中的值都是 0。我也无法获得我在其上设置的其他属性(它们也是 0)。我已经尝试了这个代码流的无数变体,使用->Get(CComBSTR("ID")...,->Get(_bstr_t("ID")...等等......

hResS_OK也在这个Get上。

如果我将它全部包装在 a 中try{}catch(...){},它会进入 catch,但我不知道如何确定异常类型或它为什么会失败。这种逻辑或语法有问题吗?如何确定Get(L"ID"...通话出了什么问题?

这是我学习 C++ 的第三周。请帮助我不要那么讨厌它。

编辑: 最小、完整和可验证的示例(尽可能完整和可验证,无需访问我的机器和 WMI 连接):

0 投票
1 回答
277 浏览

c# - CPU 使用率% NotifyIcon 使用 WMI

我一直在尝试创建一个任务栏托盘图标,wbemtest当将鼠标悬停在或单击 using 时显示 CPU 使用率(如果可能的话)C#。我使用了PercentProcessorTimeNameManagementClass Win32_PerfFormattedData_Counters_ProcessorInformation来提取数据。我无法找到 Name 甚至要返回的数据类型。还有其他地方我可以从中获取数据吗?

0 投票
1 回答
85 浏览

wmi - Inno Setup:继承的 OLE 对象属性不可访问?

我按照这个问题的公认答案来查询机器网络适配器。它终于奏效了,但我在读取这些属性的值时仍然遇到问题:

  • Win32_NetworkAdapterConfiguration.Caption
  • Win32_NetworkAdapterConfiguration.Description

每次代码到达这一行时,networkAdapter.Caption都会产生一个运行时错误,说:

运行时错误(在 60:8952):未知方法。

这是我的代码,取自上述 Stack Overflow 问题:

在阅读了一些 Microsoft 文档后,我发现了这些属性的描述。它指出,Win32_NetworkAdapterConfiguration该类扩展了CIM_Setting该类。属性CaptionDescription在那里定义。这是 Inno Setup 编译器的问题(我使用的是最新的 6.0.2)还是我必须对可能的变体变量应用某种类型的转换?

0 投票
1 回答
136 浏览

powershell - 在 CIM 实例中设置 PolicyStore

Get-NetFirewallProfilecmdlet 具有该计算机-PolicyStore ActiveStore上所有策略的总和的选项。当我运行它时,我得到考虑 GPO 的防火墙配置文件状态。

Get-CimInstance -Namespace Root\StandardCimv2 -ClassName MSFT_NetFirewallProfile或者,我可以使用or获取 CIM 实例Get-WmiObject -Namespace "Root\StandardCimv2" -Query "SELECT * FROM MSFT_NetFirewallProfile",但 GPO 值被丢弃。

如何在 中设置策略存储Get-WmiObject -Namespace "Root\StandardCimv2" -Query "SELECT * FROM MSFT_NetFirewallProfile"

最后,我将使用wbemcli api在 c++ 中实现查询