Quando você chama um método localizador, pode usar expressões de acordo com a linguagem de consulta XPath. A pesquisa retorna todos os objetos de inventário que correspondem às expressões XPath. Se você quiser consultar quaisquer propriedades, poderá inclui-las no script de pesquisa na forma de uma matriz de cadeia de caracteres.
O exemplo JavaScript a seguir usa o objeto de script VcPlugin e uma expressão XPath para retornar os nomes de todos os objetos de repositório de dados que fazem parte dos objetos gerenciados do vCenter e contêm a cadeia de caracteres ds em seus nomes.
var datastores = VcPlugin.getAllDatastores(null, "xpath:name[contains(.,'ds')]"); for each (datastore in datastores){ System.log(datastore.name); }
A expressão XPath mesmo pode ser chamada usando o objeto de script Server e o método localizador do findAllForType.
var datastores = Server.findAllForType("VC:Datastore", "xpath:name[contains(.,'ds')]"); for each (datastore in datastores){ System.log(datastore.name); }
O exemplo de script a seguir retorna os nomes de todos os objetos do sistema do host cujo ID começa com o dígito 1.
var hosts = VcPlugin.getAllHostSystems(null, "xpath:id[starts-with(.,'1')]"); for each (host in hosts){ System.log(host.name); }
O script a seguir retorna os nomes e os IDs de todos os objetos do centro de dados que contêm a cadeia de caracteres DC, em letras maiúsculas ou minúsculas, em seus nomes. O script também obtém a propriedade tag.
var datacenters = VcPlugin.getAllDatacenters(['tag'], "xpath:name[contains(translate(., 'DC', 'dc'), 'dc')]"); for each (datacenter in datacenters){ System.log(datacenter.name + " " + datacenter.id); }