Exemplo n.º 1
0
 public SystemInfoResponseMessage GetSystemInfo(SystemInfoRequestMessage request)
 {
     //TODO   现在是模拟数据
     SystemInfoResponseMessage response = new SystemInfoResponseMessage();
     foreach (string vmSystemName in request.Names)
     {
         SystemInfoResponseMessage.VMSystem vmSystem = new SystemInfoResponseMessage.VMSystem();
         vmSystem.Status = true;
         vmSystem.Name = vmSystemName;
         vmSystem.CreateTime = "2012/12/12";
         vmSystem.LastOperationTime = "2013/11/11";
         response.VMSystyems.Add(vmSystem);
     }
     return response;
 }
Exemplo n.º 2
0
 public List<SystemInfoResponseMessage.VMSystem> GetVMSystems()
 {
     ConnectionOptions co = new ConnectionOptions();
     co.Username = this.mUsername;
     co.Password = this.mPassword;
     ManagementScope scope = new ManagementScope(String.Format(@"\\{0}\root\virtualization", this.mAddress), co);
     scope.Connect();
     ObjectQuery query = new ObjectQuery("SELECT * FROM MsVM_ComputerSystem WHERE Caption LIKE 'Virtual%' ");
     ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query);
     var systemObject = searcher.Get();
     List<SystemInfoResponseMessage.VMSystem> systems = new List<SystemInfoResponseMessage.VMSystem>();
     foreach (var obj in systemObject)
     {
         SystemInfoResponseMessage.VMSystem system = new SystemInfoResponseMessage.VMSystem()
         {
             Name = obj.GetPropertyValue("ElementName") as string,
             Status = obj.GetPropertyValue("Status") as string,
             CreateTime = (obj.GetPropertyValue("InstallDate") as DateTime?).ToString(),
             LastOperationTime = (obj.GetPropertyValue("TimeOfLastConfigurationChange") as DateTime?).ToString()
         };
         systems.Add(system);
     }
     return systems;
 }
Exemplo n.º 3
0
        public List<SystemInfoResponseMessage.VMSystem> GetVMSystems()
        {
            List<EntityViewBase> virtualMachines = this.mVimClient.FindEntityViews(typeof(VirtualMachine), null, null, null);
            List<SystemInfoResponseMessage.VMSystem> systems = new List<SystemInfoResponseMessage.VMSystem>();
            foreach (VirtualMachine virtualMachine in virtualMachines)
            {
                SystemInfoResponseMessage.VMSystem system = new SystemInfoResponseMessage.VMSystem()
                {
                    Name = virtualMachine.Name,
                    Cpu = string.Format("CPU 使用率: {0} CPU, 已用{1} MHz", virtualMachine.Summary.Config.NumCpu.Value, virtualMachine.Summary.QuickStats.OverallCpuUsage),
                    Memory = string.Format("内存 使用率: {0} MB, 已用{1} MB", virtualMachine.Summary.Config.MemorySizeMB.Value, virtualMachine.Summary.QuickStats.GuestMemoryUsage)
                };
                systems.Add(system);
            }
            //ManagedObjectReference usecoll = this.mContext.propertyCollector;
            //TraversalSpec tSpec = GetVmTraversalSpec();
            //PropertySpec propertySpec = new PropertySpec();
            //propertySpec.all = false;
            //propertySpec.pathSet = new string[] { "name" };
            //propertySpec.type = "VirtualMachine";

            //ObjectSpec objectSpec = new ObjectSpec();
            //objectSpec.obj = this.mContext.rootFolder;
            //objectSpec.skip = true;
            //objectSpec.selectSet = new SelectionSpec[] { tSpec };

            //PropertyFilterSpec propertyFilterSpec = new PropertyFilterSpec();
            //propertyFilterSpec.propSet = new PropertySpec[] { propertySpec };
            //propertyFilterSpec.objectSet = new ObjectSpec[] { objectSpec };

            //List<PropertyFilterSpec> listpfs = new List<PropertyFilterSpec>(1);
            //listpfs.Add(propertyFilterSpec);

            //RetrieveResult listobjcont = this.mService.RetrievePropertiesEx(this.mContext.propertyCollector, listpfs.ToArray(), new RetrieveOptions() { maxObjects = 0, maxObjectsSpecified = false });
            //List<SystemInfoResponseMessage.VMSystem> systems = new List<SystemInfoResponseMessage.VMSystem>();
            //if (listobjcont != null)
            //{
            //    foreach (ObjectContent oc in listobjcont.objects)
            //    {
            //        String vmnm = null;
            //        List<DynamicProperty> dps = oc.propSet.ToList();
            //        if (dps != null)
            //        {
            //            vmnm = (String)dps[0].val;
            //            if (vmnm != null)
            //            {
            //                SystemInfoResponseMessage.VMSystem vm = new SystemInfoResponseMessage.VMSystem()
            //                {
            //                    Name = (String)dps[0].val,
            //                    Status = GetVmCpuEntitlementByVmName((String)dps[0].val).ToString(),
            //                    CreateTime = "",
            //                    LastOperationTime = ""
            //                };
            //                systems.Add(vm);
            //            }

            //        }
            //    }
            //}
            return systems;
        }