Пример #1
0
        public static string GetHardDiskID2()
        {
            var strHardDiskID = string.Empty;
            ManagementObjectSearcher wmiSearcher = new ManagementObjectSearcher();

            /*
             * 1. 接口
             * 2. 型号
             * 3. 驱动版本号
             * 4. 硬盘出厂序列号
             */
            //signature 需要程序以管理员身份运行
            try
            {
                wmiSearcher.Query = new SelectQuery("Win32_DiskDrive", "", new string[] { "PNPDeviceID", "signature" });
                ManagementObjectCollection myCollection = wmiSearcher.Get();
                ManagementObjectCollection.ManagementObjectEnumerator em = myCollection.GetEnumerator();
                myCollection.GetEnumerator();
                em.MoveNext();
                ManagementBaseObject mo = em.Current;
                strHardDiskID = mo.Properties["signature"].Value.ToString().Trim();
                return(strHardDiskID);
            }
            catch
            {
                return(string.Empty);
            }
        }
Пример #2
0
        internal ManagementObject GetOne()
        {
            if (_enumerator == null)
            {
                _enumerator = _data.GetEnumerator();
                _enumerator.MoveNext();
                _isfirst = true;
            }

            try
            {
                if (_isfirst)
                {
                    _records++;
                }
                return(_enumerator.Current as ManagementObject);
            }
            catch (IndexOutOfRangeException)
            {
                if (_isfirst)
                {
                    _records--;
                }
                return(null);
            }
        }
Пример #3
0
        public static string GetMemoryInfo()
        {
            ManagementObjectSearcher searcher = new ManagementObjectSearcher();                         //用于查询一些如系统信息的管理对象

            searcher.Query = new SelectQuery("Win32_PhysicalMemory ", "", new string[] { "Capacity" }); //设置查询条件
            ManagementObjectCollection collection = searcher.Get();                                     //获取内存容量

            ManagementObjectCollection.ManagementObjectEnumerator em = collection.GetEnumerator();

            long capacity = 0;

            while (em.MoveNext())
            {
                ManagementBaseObject baseObj = em.Current;
                if (baseObj.Properties["Capacity"].Value != null)
                {
                    try
                    {
                        capacity += (long.Parse(baseObj.Properties["Capacity"].Value.ToString())) / 1024 / 1024 / 1024;
                    }
                    catch
                    {
                        capacity = 0;
                    }
                }
            }

            searcher.Query = new SelectQuery("Win32_PhysicalMemory ", "", new string[] { "Speed" }); //设置查询条件
            collection     = searcher.Get();                                                         //获取内存速度(即频率)
            em             = collection.GetEnumerator();

            string speed = "";

            while (em.MoveNext())
            {
                ManagementBaseObject baseObj = em.Current;
                if (baseObj.Properties["Speed"].Value != null)
                {
                    try
                    {
                        speed = baseObj.Properties["Speed"].Value.ToString();
                    }
                    catch
                    {
                        speed = "";
                    }
                }
            }
            string mi = "";

            if (capacity > 0 && speed.Length > 0)
            {
                mi = capacity.ToString() + " GB, " + speed + " MHz";
            }
            return(mi);
        }
Пример #4
0
        /* Methode zum Ermitteln der Version des aktuellen Service Pack */
        public static OSVersion GetServicePackVersion()
        {
            // Version-Instanz für die Rückgabe erzeugen
            OSVersion version = new OSVersion();

            // Win32_OperatingSystem-Instanz für das aktive Betriebssystem ermitteln
            ManagementClass            mc  = new ManagementClass("Win32_OperatingSystem");
            ManagementObjectCollection moc = mc.GetInstances();

            ManagementObjectCollection.ManagementObjectEnumerator
                mocEnumerator = moc.GetEnumerator();
            mocEnumerator.MoveNext();
            ManagementObject mo = (ManagementObject)mocEnumerator.Current;

            // Die Version abfragen und speichern
            try{ version.Major = (ushort)mo["ServicePackMajorVersion"]; }
            catch {}
            try{ version.Minor = (ushort)mo["ServicePackMinorVersion"]; }
            catch {}

            // WMI-Objekte freigeben um den Speicher möglichst schnell zu entlasten
            mo.Dispose();
            moc.Dispose();
            mc.Dispose();

            // Ergebnis zurückgeben
            return(version);
        }
Пример #5
0
        public static string GetCPUId()
        {
            string                     cpuInfo = string.Empty;
            string                     temp    = string.Empty;
            ManagementClass            mc      = new ManagementClass("Win32_Processor");
            ManagementObjectCollection moc     = mc.GetInstances();

            try
            {
                ManagementObjectCollection.ManagementObjectEnumerator enumerator = moc.GetEnumerator();
                while (enumerator.MoveNext())
                {
                    ManagementObject mo = (ManagementObject)enumerator.Current;
                    if (Operators.CompareString(cpuInfo, string.Empty, false) == 0)
                    {
                        cpuInfo = mo.Properties["ProcessorId"].Value.ToString();
                    }
                }
            }
            finally
            {
                ManagementObjectCollection.ManagementObjectEnumerator enumerator;
                if (enumerator != null)
                {
                    ((IDisposable)enumerator).Dispose();
                }
            }
            return(cpuInfo);
        }
Пример #6
0
        public static string GetMACAddress()
        {
            ManagementClass            mc  = new ManagementClass("Win32_NetworkAdapterConfiguration");
            ManagementObjectCollection moc = mc.GetInstances();
            string MACAddress = string.Empty;

            try
            {
                ManagementObjectCollection.ManagementObjectEnumerator enumerator = moc.GetEnumerator();
                while (enumerator.MoveNext())
                {
                    ManagementObject mo = (ManagementObject)enumerator.Current;
                    if (Operators.CompareString(MACAddress, string.Empty, false) == 0 && Conversions.ToBoolean(mo["IPEnabled"]))
                    {
                        MACAddress = mo["MacAddress"].ToString();
                    }
                    mo.Dispose();
                }
            }
            finally
            {
                ManagementObjectCollection.ManagementObjectEnumerator enumerator;
                if (enumerator != null)
                {
                    ((IDisposable)enumerator).Dispose();
                }
            }
            MACAddress = MACAddress.Replace(":", "");
            return(MACAddress);
        }
Пример #7
0
        /// <summary>
        /// 获取系统内存大小
        /// </summary>
        /// <returns>内存大小(单位M)</returns>
        public static string GetMemoryTotal()
        {
            ManagementObjectSearcher searcher = new ManagementObjectSearcher();

            searcher.Query = new SelectQuery(WindowsAPIType.Win32_PhysicalMemory.ToString(), "",
                                             new string[] { WindowsAPIKeys.Capacity.ToString() });
            ManagementObjectCollection collection = searcher.Get();

            ManagementObjectCollection.ManagementObjectEnumerator em = collection.GetEnumerator();

            long capacity = 0;

            while (em.MoveNext())
            {
                ManagementBaseObject baseObj = em.Current;
                if (baseObj.Properties[WindowsAPIKeys.Capacity.ToString()].Value != null)
                {
                    try
                    {
                        capacity += long.Parse(baseObj.Properties[WindowsAPIKeys.Capacity.ToString()].Value.ToString());
                    }
                    catch
                    {
                        return("Error");
                    }
                }
            }
            return(ByteToMB((double)capacity, 1024.0));
        }
        private static Process GetParentProcess()
        {
            Process parentProcess = null;

            using (Process currentProcess = Process.GetCurrentProcess())
            {
                string      filter = string.Format("ProcessId={0}", currentProcess.Id);
                SelectQuery query  = new SelectQuery("Win32_Process", filter);
                using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(query))
                    using (ManagementObjectCollection results = searcher.Get())
                    {
                        if (results.Count > 0)
                        {
                            if (results.Count > 1)
                            {
                                throw new InvalidOperationException();
                            }
                            IEnumerator resultEnumerator = results.GetEnumerator();
                            bool        fMoved           = resultEnumerator.MoveNext();
                            using (ManagementObject wmiProcess = (ManagementObject)resultEnumerator.Current)
                            {
                                PropertyData parentProcessId = wmiProcess.Properties["ParentProcessId"];
                                uint         pid             = (uint)parentProcessId.Value;
                                parentProcess = Process.GetProcessById((int)pid);
                            }
                        }
                    }
            }
            return(parentProcess);
        }
Пример #9
0
        /// <summary> 获取系统内存大小 </summary>
        /// <returns> 内存大小(单位M) </returns>
        public string GetPhisicalMemory()
        {
            //用于查询一些如系统信息的管理对象
            ManagementObjectSearcher searcher = new ManagementObjectSearcher();

            searcher.Query = new SelectQuery(WindowsAPIType.Win32_PhysicalMemory.ToString(), "", new string[] { WindowsAPIKeys.Capacity.ToString() }); //设置查询条件
            ManagementObjectCollection collection = searcher.Get();                                                                                    //获取内存容量

            ManagementObjectCollection.ManagementObjectEnumerator em = collection.GetEnumerator();

            long capacity = 0;

            while (em.MoveNext())
            {
                ManagementBaseObject baseObj = em.Current;
                if (baseObj.Properties[WindowsAPIKeys.Capacity.ToString()].Value != null)
                {
                    try
                    {
                        capacity += long.Parse(baseObj.Properties[WindowsAPIKeys.Capacity.ToString()].Value.ToString());
                    }
                    catch
                    {
                        return("查询失败");
                    }
                }
            }
            return(ToGB(capacity, 1024.0));
        }
Пример #10
0
        /// <summary>
        /// This method checks if the context user, belongs to the local administrators group
        /// </summary>
        /// <param name="username"></param>
        /// <returns></returns>

        public bool CheckAdminRights(string username)
        {
            bool          result = false;
            List <string> admins = new List <string>();
            //SelectQuery query = new SelectQuery("Select AccountType from Win32_UserAccount where Name=\"" + username + "\"");
            SelectQuery query = new SelectQuery("SELECT * FROM win32_group WHERE Name=\"" + getAdministratorGroupName() + "\"");
            ManagementObjectSearcher   searcher = new ManagementObjectSearcher(query);
            ManagementObjectCollection OC       = searcher.Get();
            IEnumerator enumerator = OC.GetEnumerator();

            enumerator.MoveNext();
            ManagementObject           O          = (ManagementObject)enumerator.Current;
            ManagementObjectCollection adminusers = O.GetRelated("Win32_UserAccount");

            foreach (ManagementObject envVar in adminusers)
            {
                admins.Add(envVar["Name"].ToString());
                //Console.WriteLine("Username : {0}", envVar["Name"]);
                //foreach (PropertyData pd in envVar.Properties)
                //    Console.WriteLine(string.Format("  {0,20}: {1}", pd.Name, pd.Value));
            }
            if (admins.Contains(username))
            {
                result = true;
            }
            return(result);
        }
Пример #11
0
        private static int GetPhisicalMemory()
        {
            ManagementObjectSearcher searcher = new ManagementObjectSearcher();                        //用于查询一些如系统信息的管理对象

            searcher.Query = new SelectQuery("Win32_PhysicalMemory", "", new string[] { "Capacity" }); //设置查询条件
            ManagementObjectCollection collection = searcher.Get();                                    //获取内存容量

            ManagementObjectCollection.ManagementObjectEnumerator em = collection.GetEnumerator();

            int capacity = 0;

            while (em.MoveNext())
            {
                ManagementBaseObject baseObj = em.Current;
                if (baseObj.Properties["Capacity"].Value != null)
                {
                    try
                    {
                        capacity += int.Parse(baseObj.Properties["Capacity"].Value.ToString());
                    }
                    catch
                    {
                        Console.WriteLine("有错误发生!", "错误信息");
                        return(0);
                    }
                }
            }
            return(capacity);
        }
Пример #12
0
        ManagementObject GetNetAdapterManagementObject()
        {
            LogThis(LogLevel.Debug, "-> Get Management object ...");

            var objectSearcher = new ManagementObjectSearcher("root\\StandardCimv2", $@"select * from MSFT_NetAdapter"); //Physical adapter

            string q = String.Format("select * from MSFT_NetAdapter where {0}=\"{1}\"",
                                     managementObjectTagForWindowsDeviceID,
                                     windowsDeviceId
                                     );

            using (var searcher = new ManagementObjectSearcher("root\\StandardCimv2", q))
            {
                ManagementObjectCollection collection = searcher.Get();

                if (collection.Count == 0) //Device isn't currently connected to host machine
                {
                    LogThis(LogLevel.Debug, "Management object count is zero - returning null ...");
                    return(null);
                }
                else
                {
                    LogThis(LogLevel.Debug, "Return Management object ...");
                    var enumerator = collection.GetEnumerator();
                    enumerator.MoveNext();
                    return((ManagementObject)enumerator.Current);
                }
            }
        }
Пример #13
0
        /// <summary>
        /// Get list of namespaces under a path
        /// </summary>
        public ModelWMINamespaces GetListofNamespaces()
        {
            ModelWMINamespaces objData = new ModelWMINamespaces();

            objData.Path = new ModelWMIPath(this.MgmntScope.Path.Server,
                                            this.MgmntScope.Path.NamespacePath,
                                            this.MgmntScope.Path.ClassName);

            if (string.IsNullOrEmpty(this.MgmntScope.Path.ClassName) == false)
            {
                return(null);
            }

            ManagementObjectSearcher searcher = new ManagementObjectSearcher(this.MgmntScope,
                                                                             new SelectQuery("__NAMESPACE"));

            ManagementObjectCollection objColl = searcher.Get();

            ManagementObjectCollection.ManagementObjectEnumerator objIndexer = objColl.GetEnumerator();

            while (objIndexer.MoveNext())
            {
                foreach (PropertyData prop in objIndexer.Current.Properties)
                {
                    objData.Lists.Add(prop.Value.ToString());
                }
            }

            return(objData);
        }
Пример #14
0
        protected ArrayList DetectLocalMacAddresses()
        {
            ArrayList addresses = new ArrayList();

            try
            {
                ManagementClass            mc      = new ManagementClass("Win32_NetworkAdapterConfiguration");
                ManagementObjectCollection objects = mc.GetInstances();

                ManagementObjectCollection.ManagementObjectEnumerator enumerator = objects.GetEnumerator();
                while (enumerator.MoveNext())
                {
                    ManagementObject mobj = (ManagementObject)(enumerator.Current);
                    if (mobj != null)
                    {
                        Object obj = mobj["MacAddress"];
                        if (obj != null)
                        {
                            addresses.Add(obj.ToString());
                        }
                    }
                }
            }
            catch (Exception e)
            {
                e.ToString();
            }

            return(addresses);
        }
        //返回电脑cpu和硬盘序列号
        public static string GetInfo()
        {
            string                     cpuSerialCode = "";//cpu序列号
            ManagementClass            cimobject     = new ManagementClass("Win32_Processor");
            ManagementObjectCollection moc           = cimobject.GetInstances();

            foreach (ManagementObject mo in moc)
            {
                cpuSerialCode = mo.Properties["ProcessorId"].Value.ToString();
            }

            ////获取硬盘ID
            //String HDid = "";
            //ManagementClass cimobject1 = new ManagementClass("Win32_DiskDrive");
            //ManagementObjectCollection moc1 = cimobject1.GetInstances();
            //foreach (ManagementObject mo in moc1)
            //{
            //    HDid = (string)mo.Properties["Model"].Value;
            //}

            ManagementObjectSearcher mos = new ManagementObjectSearcher();

            mos.Query = new SelectQuery("Win32_DiskDrive", "", new string[] { "PNPDeviceID", "Signature" });
            ManagementObjectCollection myCollection = mos.Get();

            ManagementObjectCollection.ManagementObjectEnumerator em = myCollection.GetEnumerator();
            em.MoveNext();
            ManagementBaseObject moo = em.Current;
            string HDSerialCode      = moo.Properties["signature"].Value.ToString().Trim();


            string result = cpuSerialCode + HDSerialCode;

            return(result);
        }
        private void DeleteReceiveHandler(string adapterName, string serverName, string hostName, HandlerType handlerType)
        {
            try
            {
                string handler = handlerType == HandlerType.Receive ? "MSBTS_ReceiveHandler" : "MSBTS_SendHandler2";
                string query   = string.Format("Select * FROM {0} WHERE AdapterName=\"{1}\" AND HostName=\"{2}\"", handler, adapterName, hostName);

                ManagementObjectSearcher   searcher = new ManagementObjectSearcher(new ManagementScope(string.Format(BIZTALKSCOPE, serverName)), new WqlObjectQuery(query), null);
                ManagementObjectCollection result   = searcher.Get();

                IEnumerator enumerator = result.GetEnumerator();

                if (!enumerator.MoveNext())
                {
                    Console.WriteLine("Not found");
                    return;
                }
                ManagementObject o = (ManagementObject)enumerator.Current;
                o.Delete();
            }
            catch (Exception ex)
            {
                throw new ApplicationException("Failed while deleting receive handler", ex);
            }
        }
Пример #17
0
        /// <summary>
        /// 获取内存可用大小
        /// </summary>
        /// <returns>内存可用大小(单位M)</returns>
        public static string GetMemoryAvailable()
        {
            long available = 0;

            ManagementObjectSearcher searcher = new ManagementObjectSearcher();

            searcher.Query = new SelectQuery(WindowsAPIType.Win32_PerfFormattedData_PerfOS_Memory.ToString(), "",
                                             new string[] { WindowsAPIKeys.AvailableMBytes.ToString() });
            ManagementObjectCollection collection = searcher.Get();

            ManagementObjectCollection.ManagementObjectEnumerator em = collection.GetEnumerator();

            while (em.MoveNext())
            {
                ManagementBaseObject baseObj = em.Current;
                if (baseObj.Properties[WindowsAPIKeys.AvailableMBytes.ToString()].Value != null)
                {
                    try
                    {
                        available += long.Parse(baseObj.Properties[WindowsAPIKeys.AvailableMBytes.ToString()].Value.ToString());
                    }
                    catch
                    {
                        return("Error");
                    }
                }
            }
            return(available.ToString());
        }
Пример #18
0
        ///检测物理内存信息
        public string GetMemoryInfo()
        {
            string result = "";
            ManagementObjectSearcher searcher = new ManagementObjectSearcher();                                         //用于查询一些如系统信息的管理对象

            searcher.Query = new SelectQuery("Win32_PhysicalMemory ", "", new string[] { "Capacity", "manufacturer" }); //查询内存大小
            ManagementObjectCollection collection = searcher.Get();                                                     //获取内存容量与厂商

            ManagementObjectCollection.ManagementObjectEnumerator em = collection.GetEnumerator();
            long   capacity     = 0;
            string manufacturer = "";

            while (em.MoveNext())
            {
                ManagementBaseObject baseObj = em.Current;

                if (baseObj.Properties["Capacity"].Value != null)
                {
                    try
                    {
                        manufacturer = baseObj.Properties["Manufacturer"].Value.ToString();
                        capacity    += long.Parse(baseObj.Properties["Capacity"].Value.ToString());
                    }
                    catch
                    {
                        return(null);
                    }
                }
            }

            var theresult = (int)((capacity / 1024 / 1024)) / 1024 + "G";

            result += manufacturer + "  " + theresult.ToString();
            return(result);
        }
Пример #19
0
 /// <summary>
 /// Returns the list of Network Interfaces installed
 /// </summary>
 /// <param name="ipEnabled"> true(default) - returns only ipEnabled(network cards) devices</param>
 /// <returns>Array list of string</returns>
 public async Task <object> GetDevicesAsync(bool ipEnabled = true)
 {
     return(await Task.Run(() =>
     {
         ArrayList nicNames = new ArrayList {
         };
         using (ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration"))
         {
             using (ManagementObjectCollection moc = mc.GetInstances())
             {
                 var adaps = moc.GetEnumerator();
                 foreach (ManagementObject mo in moc)
                 {
                     if (ipEnabled)
                     {
                         if ((bool)mo["ipEnabled"])
                         {
                             nicNames.Add(mo["Caption"]);
                         }
                     }
                     else
                     {
                         nicNames.Add(mo["Caption"]);
                     }
                 }
             }
         }
         try { Logging.Logger.Instanse.Log("Info", "Request for getting devices"); }
         catch { }
         return nicNames;
     }));
 }
Пример #20
0
        private T SelectFirst <T>(ManagementObjectCollection instances)
        {
            IEnumerator enumerator = instances.GetEnumerator();

            enumerator.MoveNext();
            return((T)enumerator.Current);
        }
Пример #21
0
        private static void ChangeQueuePort(string portName, string newName)
        {
            ConnectionOptions options = new ConnectionOptions();

            options.EnablePrivileges = true;

            ManagementScope mgmtScope = new ManagementScope("root\\CIMV2", options);

            mgmtScope.Connect();

            ObjectQuery objQuery = new ObjectQuery("SELECT * FROM Win32_Printer WHERE PortName = '{0}'".FormatWith(portName));

            using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(mgmtScope, objQuery))
            {
                ManagementObjectCollection match = searcher.Get();
                if (match.Count != 1)
                {
                    throw new InvalidOperationException("Unexpected search result.  Returned {0} matches for PortName:{1}".FormatWith(match.Count, portName));
                }

                var enumerator = match.GetEnumerator();
                enumerator.MoveNext();
                ManagementObject printerObject = (ManagementObject)enumerator.Current;

                TraceFactory.Logger.Debug("Old Port: {0}, New Port: {1}".FormatWith(printerObject["PortName"], newName));
                printerObject["PortName"] = newName;

                PutOptions po = new PutOptions();
                po.Type = PutType.UpdateOrCreate;
                printerObject.Put(po);
            }
        }
Пример #22
0
        internal ManagementObject GetWmiObject(string className, string filter, params object[] args)
        {
            ManagementObjectCollection col = GetWmiObjects(className, filter, args);

            ManagementObjectCollection.ManagementObjectEnumerator enumerator = col.GetEnumerator();
            return(enumerator.MoveNext() ? (ManagementObject)enumerator.Current : null);
        }
Пример #23
0
        /// <summary>
        /// Gets the physcial cores and should this fail returns the Environment.ProcessorCount
        /// that can also include logical cores.
        /// </summary>
        /// <returns>core count.</returns>
        public static uint GetPhysicalCores()
        {
            try
            {
                ManagementScope scope = new ManagementScope("\\\\.\\ROOT\\cimv2");
                ObjectQuery     query = new ObjectQuery("SELECT NumberOfCores FROM Win32_Processor");

                ManagementObjectSearcher searcher =
                    new ManagementObjectSearcher(scope, query);

                ManagementObjectCollection queryCollection = searcher.Get();
                var enumerator = queryCollection.GetEnumerator();
                if (enumerator.MoveNext())
                {
                    ManagementObject obj = (ManagementObject)enumerator.Current;
                    return((uint)obj["NumberOfCores"]);
                }
                else
                {
                    return((uint)Environment.ProcessorCount);
                }
            }
            // We are not very interested in throwing the exception, we might log it
            // but this carries little information as if WMI fails there is very little
            // that the we or the user can do to provide the correct information.
            catch
            {
                return((uint)Environment.ProcessorCount);
            }
        }
Пример #24
0
        private static ManagementObject GetreceiveLocationWmiObject(string receiveLocation)
        {
            var searcher = new ManagementObjectSearcher();
            var scope    = new ManagementScope("root\\MicrosoftBizTalkServer");

            searcher.Scope = scope;

            // Build a Query to enumerate the MSBTS_ReceiveLocation instances if an argument
            // is supplied use it to select only the matching RL.
            var query = new SelectQuery
            {
                QueryString = String.Format("SELECT * FROM MSBTS_ReceiveLocation WHERE Name =\"{0}\"", receiveLocation)
            };

            // Set the query for the searcher.
            searcher.Query = query;

            // Execute the query and determine if any results were obtained.
            ManagementObjectCollection queryCol = searcher.Get();

            ManagementObjectCollection.ManagementObjectEnumerator me = queryCol.GetEnumerator();
            me.Reset();
            if (me.MoveNext())
            {
                return((ManagementObject)me.Current);
            }
            else
            {
                throw new ApplicationException(string.Format("The WMI object for the receive location:{0} could not be retrieved.", receiveLocation));
            }
        }
        public static LogicalDisk[] FillLogicalDisks(string machineName, string userName, string password,
                                                     string queryArea)
        {
            InitializeScope(machineName, userName, password);
            ManagementClass managementClass = new ManagementClass(path + ":" + queryArea);

            if (mScope != null)
            {
                managementClass.Scope = mScope;
            }
            ManagementObjectCollection instances = managementClass.GetInstances();

            if (instances == null)
            {
                return(null);
            }
            LogicalDisk[] logicalDisks = new LogicalDisk[instances.Count];
            ManagementObjectCollection.ManagementObjectEnumerator enumerator = instances.GetEnumerator();
            int i = 0;

            while (enumerator.MoveNext())
            {
                logicalDisks[i] = new LogicalDisk((ManagementObject)enumerator.Current);
                i++;
            }
            return(logicalDisks);
        }
        public static Processor[] FillProcessorInformation(string machineName, string userName, string password,
                                                           string queryArea)
        {
            InitializeScope(machineName, userName, password);
            ManagementClass managementClass = new ManagementClass(path + ":" + queryArea);

            if (mScope != null)
            {
                managementClass.Scope = mScope;
            }
            ManagementObjectCollection instances = managementClass.GetInstances();

            if (instances == null)
            {
                return(null);
            }
            Processor[] processors = new Processor[instances.Count];
            ManagementObjectCollection.ManagementObjectEnumerator enumerator = instances.GetEnumerator();
            int i = 0;

            while (enumerator.MoveNext())
            {
                processors[i] = new Processor((ManagementObject)enumerator.Current);
                i++;
            }
            return(processors);
        }
        public static HotFixes[] FillHotFixes(string machineName, string userName, string password, string queryArea)
        {
            InitializeScope(machineName, userName, password);
            ManagementClass managementClass = new ManagementClass(path + ":" + queryArea);

            if (mScope != null)
            {
                managementClass.Scope = mScope;
            }
            ManagementObjectCollection instances = managementClass.GetInstances();

            if (instances == null)
            {
                return(null);
            }
            HotFixes[] hotfixesInstalled = new HotFixes[instances.Count];
            ManagementObjectCollection.ManagementObjectEnumerator enumerator = instances.GetEnumerator();
            int i = 0;

            while (enumerator.MoveNext())
            {
                hotfixesInstalled[i] = new HotFixes((ManagementObject)enumerator.Current);
                i++;
            }
            return(hotfixesInstalled);
        }
Пример #28
0
	// Token: 0x060000FE RID: 254 RVA: 0x00023524 File Offset: 0x00021724
	private static object cju()
	{
		string result = string.Empty;
		ManagementClass managementClass = new ManagementClass(<Module>.smethod_strings_decryptor(320864 -> "win32_processor")));
		ManagementObjectCollection instances = managementClass.GetInstances();
		try
		{
			ManagementObjectCollection.ManagementObjectEnumerator enumerator = instances.GetEnumerator();
			for (;;)
			{
				IL_AA:
				if (enumerator.MoveNext())
				{
					goto IL_8E;
				}
				uint num = 2116956050u;
				ManagementObject managementObject;
				for (;;)
				{
					IL_62:
					uint num2;
					switch ((num2 = (num ^ 2097288165u)) % 5u)
					{
					case 0u:
						num = 788083082u;
						continue;
					case 2u:
						result = managementObject.Properties[<Module>.smethod_strings_decryptor(320968 -> "processorID"))].Value.ToString();
Пример #29
0
        public Source GetSource(ISourceParent parent, string name, bool ignoreCase)
        {
            string query = "SELECT * FROM " + Constants.Wmi.Source.Class
                           + " WHERE Parent = '" + parent.FullName + "' AND Name = '" + name + "'";

            var searcher = new ManagementObjectSearcher(_scope, new ObjectQuery(query));

            using (ManagementObjectCollection configs = searcher.Get())
            {
                Debug.Assert(configs.Count <= 1, "configs.Count <= 1");

                IEnumerator enumerator = configs.GetEnumerator();
                if (!enumerator.MoveNext())
                {
                    return(null);                    // Source not found.
                }
                Source source = CreateSource(parent, (ManagementObject)enumerator.Current);

                // WQL is case-isensitive, so check the case below, if needed.

                if (!ignoreCase && source.Name != name)
                {
                    return(null);
                }

                parent.AddIfNotLoaded(source);

                return(source);
            }
        }
Пример #30
0
        /// <summary>
        /// 获取系统内存大小
        /// 以G为单位
        /// </summary>
        /// <returns>内存大小(单位M)</returns>
        private int GetPhisicalMemory()
        {
            int phyMemSize = 0;

            try
            {
                ManagementObjectSearcher searcher = new ManagementObjectSearcher();                         //用于查询一些如系统信息的管理对象
                searcher.Query = new SelectQuery("Win32_PhysicalMemory ", "", new string[] { "Capacity" }); //设置查询条件
                ManagementObjectCollection collection = searcher.Get();                                     //获取内存容量
                ManagementObjectCollection.ManagementObjectEnumerator em = collection.GetEnumerator();
                long capacity = 0;
                while (em.MoveNext())
                {
                    ManagementBaseObject baseObj = em.Current;
                    if (baseObj.Properties["Capacity"].Value != null)
                    {
                        try
                        {
                            capacity += long.Parse(baseObj.Properties["Capacity"].Value.ToString());
                        }
                        catch
                        {
                            return(0);
                        }
                    }
                }
                phyMemSize = (int)(capacity / 1024 / 1024 / 1024);
            }
            catch (Exception)
            {
            }
            return(phyMemSize);
        }
Пример #31
0
	internal static string smethod_18(ManagementObjectCollection managementObjectCollection_0, string string_10)
	{
		string text = "";
		try
		{
			using (ManagementObjectCollection.ManagementObjectEnumerator enumerator = managementObjectCollection_0.GetEnumerator())
			{
				while (enumerator.MoveNext())
				{
					ManagementObject managementObject = (ManagementObject)enumerator.Current;
					if (text == "")
					{
						try
						{
							text = managementObject[string_10].ToString();
							break;
						}
						catch
						{
							text = "";
						}
					}
				}
			}
		}
		catch
		{
			text = "";
		}
		return text;
	}