如何使用来自 WMIC 的对象引用参数
调用 WMI 方法(例如
RemoveVirtualSystemSnapshot()
,其中第一个参数是对 CIM_VirtualSystemSettingData
的引用)?
我还没有找到如何引用一个对象。我可以使用 WMIC 找到对象,但我不知道如何从
wmic path ... where ...
返回一些文本输出到 WMIC 命令,该命令调用 RemoveVirtualSystemSnapshot()
并将该对象作为第一个参数。
我确定我可以通过许多其他方式(C#、VBScript 等)做到这一点,但我想知道 WMIC 是否可行?
根据 Microsoft 的文档,这实际上是不可能的。微软声明以下信息:
问题: 输入参数是OBJECT类型
原因: 尚未完全实现对 OBJECT 类型的输入参数的支持。默认值(空字符串:“”)是当前唯一支持的值。
解决方法: 使用如下命令设置三个用户共享c:est目录: WMIC SHARE CALL Create "","test","3","TestShareName","","c: est",0
您可以在他们的“WMIC 疑难解答”页面上找到此信息:http://technet.microsoft.com/en-us/library/cc738752(v=ws.10).aspx#BKMK_8
我不认为这是可能的。但是这里是
WMIC
代表对象的方式:
\\HostName\ROOT\cimv2:ClassName.Key1="Key1Value",Key2="Key2Value",..
(可以看到 ASSOC 动词)但我不知道它可以与 WMIC 一起使用 - 我已经尝试了很多东西 - 但对象表示仍然被视为字符串。另一件事是 MOFCOMP,你可以在其中编译 .mof文件并创建一个带有别名的对象,但它仍然可以传递给方法。我最后的希望是使用 Windows 附带的一些 odbc/sql 命令行工具并使用更复杂的 WQL 查询,但可能毫无意义...
根据这篇文章,您可以使用以下命令获取引用对象的字符串值:
wmic PATH <ClassName> GET __RELPATH /FORMAT:LIST
然后将其传递给接受该类型对象的参数/ 属性。