工作流脚本元素、操作和策略需要对常用任务进行基本脚本编辑。您可以将这些示例剪切、粘贴和调整应用到自己的脚本元素中。

访问 XML 文档

以下 JavaScript 示例可让您使用 Orchestrator JavaScript API 中的 ECMAScript for XML (E4X) 实现从 JavaScript 访问 XML 文档。

注:

除了在 JavaScript API 中实现 E4X 外,Orchestrator 还在 XML 插件中提供了一个文档对象模型 (Document Object Model, DOM) XML 实现。有关 XML 插件及其示例工作流的详细信息,请参见《使用 vRealize Orchestrator 插件》

var people = <people>
                 <person id="1">
                     <name>Moe</name>
                 </person>
                 <person id="2">
                     <name>Larry</name>
                 </person>
             </people>;

System.log("'people' = " + people);

// built-in XML type
System.log("'people' is of type : " + typeof(people)); 

// list-like interface System.log("which contains a list of " +
people.person.length() + " persons"); 
System.log("whose first element is : " + people.person[0]);

// attribute 'id' is mapped to field '@id'
people.person[0].@id='47'; 
// change Moe's id to 47 
// also supports search by constraints
System.log("Moe's id is now : " + people.person.(name=='Moe').@id);

// suppress Moe from the list
delete people.person[0];
System.log("Moe is now removed.");

// new (sub-)document can be built from a string 
people.person[1] = new XML("<person id=\"3\"><name>James</name></person>");
System.log("Added James to the list, which is now :");
for each(var person in people..person)

for each(var person in people..person){
	System.log("- " + person.name + " (id=" + person.@id + ")"); 
}

从哈希表获取并设置属性

以下 JavaScript 示例用于在哈希表中设置属性和从哈希表获取属性。在下例中,键始终是一个“字符串”,而值则可能是对象、数字、布尔值或字符串。

var table = new Properties() ; 
table.put("myKey",new Date()) ;
// get the object back 
var myDate= table.get("myKey") ;
System.log("Date is : "+myDate) ;

替换字符串的内容

以下 JavaScript 示例用于替换字符串的内容并将其替换成新内容。

var str1 = "'hello'" ; 
var reg = new RegExp("(')", "g"); 
var str2 = str1.replace(reg,"\\'") ; 
System.log(""+str2) ; // result : \'hello\'

比较类型

以下 JavaScript 示例用于检查一个对象与给定的对象类型是否匹配。

var path = 'myurl/test';
if(typeof(path, string)){
  throw("string");
else {
  throw("other");
}

在 Orchestrator 服务器中运行命令

以下 JavaScript 示例可在 Orchestrator 服务器上运行命令行。使用与启动服务器所用的同一凭据即可。

注:

默认情况下,访问文件系统会受到限制。

var cmd = new Command("ls -al") ;
cmd.execute(true) ;
System.log(cmd.output) ;