博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
获取vmware虚拟机模板
阅读量:5757 次
发布时间:2019-06-18

本文共 1722 字,大约阅读时间需要 5 分钟。

在我们通过克隆虚机,需要用到虚机模板。在数据中心的目录下面有文件夹、模板和虚拟机,那么这里需要做的是根据类型做递归查询。

1 private void GetTemplate() 2 { 3     System.Text.StringBuilder sb = new System.Text.StringBuilder(); 4  5     ManagedObjectReference dcMor = util._svcUtil.getEntityByName("Datacenter", "dc"); 6     sb.AppendLine(string.Format("dc is {0}
", dcMor.Value)); 7 8 ManagedObjectReference folderMor = util.getServiceUtil().GetMoRefProp(dcMor, "vmFolder"); 9 ManagedObjectReference tpMor = GetTemplate(folderMor, "WINDOWS2008R2-CN-64");10 sb.AppendLine(string.Format("template is {0}
", tpMor.Value));11 12 Response.Write(sb.ToString());13 }

 

在数据中心下面有vmFolder属性,而vmFolder有childEntity和childType成员,由此可以判断哪些是模板,当childEntity为folder我们再做递归。

1 private ManagedObjectReference GetTemplate(ManagedObjectReference mor, string templateName) 2 { 3     ManagedObjectReference[] entityMors = (ManagedObjectReference[])util.getServiceUtil().GetDynamicProperty(mor, "childEntity"); 4     foreach (var item in entityMors) 5     { 6         if (item.type.Equals("VirtualMachine")) 7         { 8             ObjectContent[] vmOC = util.getServiceUtil().GetObjectProperties(null, item, new string[] { "config.name", "config.template" }); 9             DynamicProperty[] vmDPs = vmOC[0].propSet;10             if (vmDPs != null && ((string)vmDPs[0].val).Equals(templateName) && ((bool)vmDPs[1].val).Equals(true))11             {12                 return item;13             }14         }15         else if (item.type.Equals("Folder"))16         {17             ManagedObjectReference tpMor = GetTemplate(item, templateName);18             if (tpMor != null) return tpMor;19         }20     }21     return null;22 }

 

下面为运行结果。

1

2

转载于:https://www.cnblogs.com/yuefei/p/3641033.html

你可能感兴趣的文章
一个诡异的错误
查看>>
Zookeeper学习专题之二 安装和配置
查看>>
Linux系统时间同步(ntpdate/chrony/rdate)
查看>>
转:我是如何在SQLServer中处理每天四亿三千万记录的
查看>>
【转】finalize()方法和System.gc()方法的作用---(部分修改)
查看>>
beyond compare 对比java class 文件
查看>>
AMD
查看>>
Android 避免2个相互影响的 EditText 死循环
查看>>
[我当项目经理那些年]管理杂谈 — 三个火枪手
查看>>
zabbix之微信告警
查看>>
svn服务器搭建
查看>>
数组基础
查看>>
eclipse导入外部maven工程后报the superclass.. was not found
查看>>
[译]整洁代码与处理异常的艺术
查看>>
《Hold On》
查看>>
贴一段压缩上传图片代码
查看>>
基于特定语料库的TF-IDF关键词提取实现
查看>>
SparkSQL相关语句总结
查看>>
PostgresSQL-内存分配
查看>>
IOS黑客手册 第一章 第一节 IOS安全基础知识 (翻译)
查看>>