zoukankan      html  css  js  c++  java
  • C#获取远程计算机硬件信息实例(支持linux和windows)

    网上关于WMI的资料很多,但一直没有比较全的属性介绍.今天通过反射把所有属性都给弄出来了.
     
    关于WMI的代码就不多说了.
     
    需要手动添加引用:System.Management
     
           /// <summary>
            /// 获取查询队列        /// 
            /// </summary>
            /// <param name="ip"></param>
            /// <param name="username"></param>
            /// <param name="password"></param>
            /// <param name="queryString"></param>
            /// <returns></returns>
           
     private static ManagementObjectCollection GetQueryObject(string ip, string username, string password, string queryString)
            {
                ConnectionOptions co = new ConnectionOptions();
                string hostname = !string.IsNullOrEmpty(ip) ? NetManager.GetRemoteHostName(ip) : "";
                co.Username = (string.IsNullOrEmpty(hostname)?"":hostname+ "\\" ) + username;
                co.Password = password;
                ManagementScope scm = string.IsNullOrEmpty(ip) || ip.Trim()=="" || ip.ToLower().Trim() == "localhost" || ip.ToLower().Trim() == "127.0.0.1" ?
                    new ManagementScope(@"
    \\localhost\root\cimv2"):new ManagementScope(@"\\" + ip + @"\root\cimv2", co);
                ObjectQuery oq = new System.Management.ObjectQuery(queryString);
                ManagementObjectSearcher query = new ManagementObjectSearcher(scm, oq);
                return query.Get();
            }
     
     
    新增linux硬件信息获取
    但linux主机获取不全面
    欢迎提交linux硬件信息获取通用的shell命令
     
    示例效果图如下:
    C#利用开源项目SharpSsh远程执行linux的shell命令源码
    远程操作linux请看另一篇:
    http://www.jm47.com/project/1213

  • 相关阅读:
    ASP.NET MVC EF 连接数据库(一)-----Database First
    设计模式——策略模式
    设计模式——简单工厂模式
    分享一些技术大牛的博客
    有货双中心双活架构实践
    分布式协调服务Zookeeper应用场景
    分布式服务框架资料汇总
    Java线程池ThreadPoolExecutor解析
    服务注册中心Zookeeper和Eureka比较
    JVM内存结构、垃圾回收及性能调优
  • 原文地址:https://www.cnblogs.com/jiamao/p/2135796.html
Copyright © 2011-2022 走看看