Microsoft.Management.Infrastructure命名空间 - Cim类

时间:2015-04-23 18:47:20

标签: c# .net wmi

我使用新的新Microsoft.Management.Infrastructure类来处理WMI,但我遇到了绊脚石,并且无法找到有关如何使用这些类解决此问题的任何信息无需回退使用System.Management.ManagementObject

基本上,Microsoft.Management.Infrastructure没有公开任何对象方法,这是我遇到的困难。

我已检索到CimClass个对象,我们将其称为Win32_Process,称为属性.CimClassProperties["Handle"]以获取Handle属性并{{1} 1}}检索.Qualifiers属性的限定符列表。

在这个阶段,我想删除其中一个限定符,但是没有暴露的方法可以允许这样的事情。

使用Handle命名空间,我可以获得一个Microsoft.Management.ManagementObject对象,为了参数再次ManagementClass,调用Win32_Process删除限定符,但不知道如何使用新课程来做到这一点,我找不到任何信息。

编辑:我做了一些挖掘,发现要使用.Properties["Handle"].Qualifiers.Remove(<qualifierName>)CimSession方法调用CIM对象上的方法,使用CimSession.InvokeMethod类能够使用它来调用CimSession.InvokeMethodAsyncCimClass的方法,但它似乎无法从我所看到的内容中调用这两个对象之外的任何对象的方法。这是我吗?

2 个答案:

答案 0 :(得分:0)

我相信,无法修改限定符。原因是它是只读属性。此外,如果您想在代码中执行某些操作,它们会获取列表或字符串数​​组中的数据并对其进行操作。

enter image description here

答案 1 :(得分:0)

这是一个非常晚的答案,但我发现自己处于类似的情况,试图改变Win32_TCPIPPrinterPort打印机IP地址和名称,这也是ReadOnly。我确实遇到过一些引用wbemtest.exe的文章。此实用程序可用于进行此类更改,但请谨慎使用,因为它是WMI对象编辑器,可能会破坏您的系统。此链接将更好地解释https://blogs.technet.microsoft.com/heyscriptingguy/2009/08/04/hey-scripting-guy-how-do-i-use-wmi-with-windows-powershell-to-return-information-about-properties/