调用查找器方法时,可以使用基于 XPath 查询语言的表达式。搜索会返回与 XPath 表达式匹配的所有清单对象以及这些对象的默认属性。如果想查询任何非默认的属性,可以将其以字符串数组形式包含到搜索脚本中。

以下 JavaScript 示例使用了 VcPlugin 脚本对象以及 XPath 表达式,用于返回 vCenter Server 所属受管对象的所有数据存储对象的名称,并且在其名称中包含字符串 ds

var datastores = VcPlugin.getAllDatastores(null, "xpath:name[contains(.,'ds')]");
for each (datastore in datastores){
     System.log(datastore.name); 
 }

使用 Server 脚本对象和 findAllForType 查找器方法可以调用同一 XPath 表达式。

var datastores = Server.findAllForType("VC:Datastore", "xpath:name[contains(.,'ds')]");
for each (datastore in datastores){
     System.log(datastore.name); 
 }

以下脚本示例会返回其 ID 以数字 1 开头的所有主机系统对象的名称。

var hosts = VcPlugin.getAllHostSystems(null, "xpath:id[starts-with(.,'1')]");
for each (host in hosts){
     System.log(host.name); 
}

以下脚本会返回其名称中包含字符串 DC(无论大写或小写)的所有数据中心对象的名称和 ID。除了默认的对象属性集外,该脚本还会检索 tag 属性。

var datacenters = VcPlugin.getAllDatacenters(['tag'], "xpath:name[contains(translate(., 'DC', 'dc'), 'dc')]");
for each (datacenter in datacenters){
     System.log(datacenter.name + “ ”  +  datacenter.id); 
}