如何使用 WMIC 的对象引用参数调用 WMI 方法?

问题描述 投票:0回答:3

如何使用来自 WMIC 的对象引用参数

 调用 WMI 方法(例如 
RemoveVirtualSystemSnapshot()
,其中第一个参数是对 CIM_VirtualSystemSettingData 的引用)?

我还没有找到如何引用一个对象。我可以使用 WMIC 找到对象,但我不知道如何从

wmic path ... where ...
返回一些文本输出到 WMIC 命令,该命令调用
RemoveVirtualSystemSnapshot()
并将该对象作为第一个参数。

我确定我可以通过许多其他方式(C#、VBScript 等)做到这一点,但我想知道 WMIC 是否可行?

object batch-file reference parameter-passing wmic
3个回答
1
投票

根据 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


1
投票

我不认为这是可能的。但是这里是

WMIC
代表对象的方式:

\\HostName\ROOT\cimv2:ClassName.Key1="Key1Value",Key2="Key2Value",..

(可以看到 ASSOC 动词)但我不知道它可以与 WMIC 一起使用 - 我已经尝试了很多东西 - 但对象表示仍然被视为字符串。另一件事是 MOFCOMP,你可以在其中编译 .mof文件并创建一个带有别名的对象,但它仍然可以传递给方法。我最后的希望是使用 Windows 附带的一些 odbc/sql 命令行工具并使用更复杂的 WQL 查询,但可能毫无意义...


0
投票

根据这篇文章,您可以使用以下命令获取引用对象的字符串值:

wmic PATH <ClassName> GET __RELPATH /FORMAT:LIST

然后将其传递给接受该类型对象的参数/ 属性。

© www.soinside.com 2019 - 2024. All rights reserved.