При вызове метода поиска можно использовать выражения, составленные на языке запросов XPath. Поиск возвращает все объекты иерархии, которые соответствуют выражению XPath. Чтобы выполнить запрос каких-либо свойств, их можно включить в сценарий поиска в виде массива строк.
Следующий пример сценария JavaScript использует объект сценария VcPlugin и выражение XPath для возвращения имен всех объектов хранилища данных, которые являются частью управляемых объектов vCenter и содержат в своих именах строку ds.
var datastores = VcPlugin.getAllDatastores(null, "xpath:name[contains(.,'ds')]");
for each (datastore in datastores){
System.log(datastore.name);
}
То же выражение XPath может быть вызвано с использованием объекта сценария Server и метода поиска findAllForType.
var datastores = Server.findAllForType("VC:Datastore", "xpath:name[contains(.,'ds')]");
for each (datastore in datastores){
System.log(datastore.name);
}
Следующий пример сценария возвращает имена всех системных объектов узла с идентификатором, начинающимся цифрой 1.
var hosts = VcPlugin.getAllHostSystems(null, "xpath:id[starts-with(.,'1')]");
for each (host in hosts){
System.log(host.name);
}
Следующий сценарий возвращает имена и идентификаторы всех объектов центра обработки данных, чьи имена содержат строку DC в верхнем или нижнем регистре. Сценарий также получает значение свойства tag.
var datacenters = VcPlugin.getAllDatacenters(['tag'], "xpath:name[contains(translate(., 'DC', 'dc'), 'dc')]");
for each (datacenter in datacenters){
System.log(datacenter.name + " " + datacenter.id);
}