脚本生成两种类型的结果信息: 通常写入屏幕的输出和最终返回值。 该方法检索远程执行进程的返回值的表示。 由于返回结果是脚本评估的最后一步,因此该方法仅在脚本执行成功完成时返回有效值。 hasCompleted() 返回 true,errorOccurred() 返回 false。 由于远程执行的返回值必须通过网络传输到发起请求的系统,因此会在远程系统上将该返回值序列化到 XML 表示中,然后 RemoteTarget.result() 方法返回其序列化表示的结果值。
使用 get-remoteResult() funclet(它将 RemoteTarget 对象本身作为参数)将序列化表示形式转换为 JavaScript 正则值。 通常不需要脚本直接调用 result()。 序列化可保持类型信息。 例如,如果远程节点返回一个数字,那么 get-remoteResult() 会返回数字类型的值。 如果远程系统返回“日期”对象,那么该对象在原始系统上同样为日期。
远程脚本的返回值并不仅限于简单数据类型。 也可以返回复杂数组或仅包含数据的对象,以允许远程执行在服务器之间传输大量日期。 唯一的限制是数据结构不能包含任何循环引用。
该方法具有以下语法:
result()
远程脚本返回包含值的序列化 XML 表示的字符串。
示例
获取远程执行的序列化表示形式和实际值:
rt = new RemoteTarget("ascli1", "bob", "ca123456"); run-remote "[1,2,3]" on rt -wait ? rt.result() v = get-remoteResult(rt) // 内部调用 result() ? typeof v // 数组 ? typeof v[0] // 数字 arrdump v
版权所有 © 2013 CA。
保留所有权利。
|
|