我使用新的新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.InvokeMethodAsync
和CimClass
的方法,但它似乎无法从我所看到的内容中调用这两个对象之外的任何对象的方法。这是我吗?
答案 0 :(得分:0)
我相信,无法修改限定符。原因是它是只读属性。此外,如果您想在代码中执行某些操作,它们会获取列表或字符串数组中的数据并对其进行操作。
答案 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/