Beispiel #1
0
 /// <summary>
 /// 获取指定WMI路径的信息集合
 /// </summary>
 public static IEnumerable<Dictionary<string, object>> GetWmiInfos(WMIPath wmi)
 {
     ManagementClass mc = new ManagementClass(wmi.ToString());
     ManagementObjectCollection moc = mc.GetInstances();
     return (from ManagementBaseObject mo in moc
             select mo.Properties.Cast<PropertyData>()
                 .ToDictionary(property => property.Name, property => property.Value))
         .ToList();
 }
        /// <summary>
        /// 获取指定WMI路径的信息集合
        /// </summary>
        public static IEnumerable <Dictionary <string, object> > GetWmiInfos(WMIPath wmi)
        {
            ManagementClass            mc  = new ManagementClass(wmi.ToString());
            ManagementObjectCollection moc = mc.GetInstances();

            return((from ManagementBaseObject mo in moc
                    select mo.Properties.Cast <PropertyData>()
                    .ToDictionary(property => property.Name, property => property.Value))
                   .ToList());
        }
Beispiel #3
0
        private static string GetString(WMIPath path, string name, int index = 0)
        {
            try
            {
                WMI wmi = new WMI(path);
                if (wmi.Count > index)
                {
                    var obj = wmi[index, name];
                    if (obj != null)
                    {
                        return(obj.ToString().Trim());
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }

            return(path.ToString());
        }
Beispiel #4
0
 /// <summary>
 /// 构造函数
 /// </summary>
 /// <param name="path">path</param>
 public WMI(WMIPath path) : this(path.ToString())
 {
 }
Beispiel #5
0
        /// <summary>
        /// 获取WMI管理对象集合
        /// </summary>
        /// <param name="path">WMI 路径</param>
        public static ManagementObjectCollection GetObjectCollection(WMIPath path)
        {
            ManagementClass mc = new ManagementClass(path.ToString());

            return(mc.GetInstances());
        }