C#获取远程计算机硬件信息实例(支持linux和windows)

原文: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

源码下载:http://www.jm47.com/project/1191

时间: 2024-12-10 22:35:56

C#获取远程计算机硬件信息实例(支持linux和windows)的相关文章

php下载远程大文件(获取远程文件大小)的实例

废话不多说,直接上代码 <?php // 暂不支持断点续传 // $url = 'http://www.mytest.com/debian.iso'; 不知道为何获取本地文件大小为0 $url = 'http://192.168.8.93/download/vm-672/18/0.vmdk'; $file = basename($url); $header = get_headers($url, 1); $size = $header['Content-Length']; $fp = fopen

Andriod 获取电池的信息实例代码_Android

具体代码如下所示: <?xml version="1.0"?> <LinearLayout android:orientation="vertical" android:layout_height="match_parent" android:layout_width="match_parent" xmlns:tools="http://schemas.android.com/tools"

ASP获取远程文件大小信息(通过header头信息)

文件大小|远程文件|header ASP获取远程文件的通过header头信息,并返回远程文件大小信息,远程文件可以是网页或RAR,EXE任何格式的文件. 以下的代码是由阿里西西alixixi.com提供的最简化的写法. 以下是引用片段:<% 'ASP获取远程文件大小方法1 set xml = Server.CreateObject("MSXML2.XMLHTTP") xml.open "GET","http://www.alixixi.com/dow

用ioctl获取无线网络信息 /usr//include/linux/wireless.h

1.UNIX Network Programming环境搭建 Unix NetWork Programming――环境搭建(解决unp.h等源码编译问题) http://blog.csdn.net/a649518776/article/details/6724121 注:按照连接操作即可,编译要加 -lunp  选项 2.用户态和核心态的交换方式 在 linux下,要实现核心态和用户态数据的交互,有多种方式:可以通用socket创建特殊套接字,利用套接字实现数据交互:通过proc文件系统创建文

jquery中使用ajax获取远程页面信息_jquery

效果图如下: 先贴前台代码:其中关键代码是 通过span标记的data(自定义属性)绑定Id 复制代码 代码如下: <asp:GridView ID="GvCollect" runat="server" AutoGenerateColumns="False" DataKeyNames="Id" onrowdeleting="GvCollect_RowDeleting" EnableModelValid

vbs wmi获取电脑硬件信息实例_vbs

Set wmi=GetObject("winmgmts:\\") Set board=wmi.instancesof("win32_baseboard") For Each b In board msg="主板:"&b.Manufacturer&vbTab&b.product&vbTab&Chr(13) Next msg=msg&Chr(13)&"---"+Chr(13)

一个获取远端文件的函数(Linux和Windows均适用)

window|函数 为了获取远端文件,编写了下面的一个小函数,基本各方面都考虑了,大家看看吧:function getpic($url,$dir,$name){    //获取url文件,然后存放到dir目录中,以name为文件名.    //如果缺省文件名,则保留原文件名.    $tmp=split("/",$url);    $fname=$tmp[count($tmp)-1];//获取文件名    if(empty($name)) {        $name=$fname;/

调试程序时在不中断程序的情况下输出函数调用信息(Mac OS,Linux &amp;amp; Windows)

转载请注明出处:http://blog.csdn.net/horkychen 有时在查找问题时,不想中断程序运行就输出一下某个条件下的函数执行顺序可以帮助定位问题. 在Xcode下可以编辑断点设置中的Action设为Debugger Command, 如果你使用GDB作为调试器(项目设置),然后输入backtrace如下: 记得勾选"Automatically continue after evaluating", 这样程序就不会停在这个断点,而是继续执行下去. 运行结果: #0  a

Linux与Windows的设备驱动模型对比:架构、API 和开发环境比较

名词缩写: API 应用程序接口(Application Program Interface ) ABI 应用系统二进制接口(Application Binary Interface) 设备驱动是操作系统的一部分,它能够通过一些特定的编程接口便于硬件设备的使用,这样软件就可以控制并且运行那些设备了.因为每个驱动都对应不同的操作系统,所以你就需要不同的 Linux.Windows 或 Unix 设备驱动,以便能够在不同的计算机上使用你的设备.这就是为什么当你雇佣一个驱动开发者或者选择一个研发服务商