VMware-vSphere-SDK-5.0 实现快照还原(一)获取最新快照名称

来源:互联网 发布:数据库中的模式 编辑:程序博客网 时间:2024/05/01 00:12

VMware-vSphere-SDK-5.0.0-429209\SDK\vsphere-ws\dotnet\cs\samples  SDK中用到此目录下的AppUtil,VMSnapshot,VMware.Security.CredentialStore


新建类库VMSnapshotRevert,添加类,将VMSnapshot中除Main()函数外所有代码拷贝,修改相关信息。 新增获取最新快照名称方法,用于还原时使用。


private static LastSnapInfo info = new LastSnapInfo();  //存储最新快照信息


        /// <summary>
        /// 递归获取最新快照信息
        /// </summary>
        /// <param name="snapTree">快照树</param>
        /// <param name="vmMor"></param>
        private static void GetLastSnapname(VirtualMachineSnapshotTree[] snapTree, ManagedObjectReference vmMor)
        {
            foreach (var snap in snapTree)
            {
                if (string.IsNullOrEmpty(info.snapName))
                {
                    info.snapName = snap.name;
                    info.CreateTime = snap.createTime.ToLocalTime();
                }
                else
                {  
                    if (snap.createTime.ToLocalTime() > info.CreateTime)
                    {
                        info.snapName = snap.name;
                        info.CreateTime = snap.createTime.ToLocalTime();
                    }
                }
                if (snap.childSnapshotList != null)
                {
                    GetLastSnapname(snap.childSnapshotList, vmMor);
                }
            }
        }
    }
    class LastSnapInfo
    {
        public string snapName; //快照名称
        public DateTime CreateTime; //创建时间
    }
0 0
原创粉丝点击