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

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

时间: 2024-10-09 14:01:34

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

JS获取客户端计算机硬件信息与系统信息大全

<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script> var info = allinfo(); document.write(info); var locator = new ActiveXObject ("WbemScripting.SWbemLocator"); 

java获取本机器的IP(linux和windows)

[toc] 描述 由于项目是部署在集群上的,需要项目能够自动采集各机器的信息.java.net.InetAddress.getLocalHost()来获取本地机器的IP和机器名信息,但发现在linux下并不能获取到机器的实际IP和机器名信息(获取到的是localhost/127.0.0.1). 方案描述 根据系统类型(linux.windows)来通过不同的方式获取本地机器的IP信息. 获取Windows下的IP java.net.InetAddress.getLocalHost().getHo

shell 脚本获取远程服务器信息并发送邮件

1 [[email protected] expect]# cat ssh_dsa.exp 2 #!/usr/bin/expect 3 set ip [lindex $argv 0] 4 set pass [lindex $argv 1] 5 set port [lindex $argv 2] 6 set user [lindex $argv 3] 7 set id_dsa [lindex $argv 4] 8 9 if { $id_dsa == "1" } {set id "

Linux 查看系统硬件信息(实例详解)

cpu lscpu命令,查看的是cpu的统计信息. [email protected]:~$ lscpu Architecture: i686 #cpu架构 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian #小尾序 CPU(s): 4 #总共有4核 On-line CPU(s) list: 0-3 Thread(s) per core: 1 #每个cpu核,只能支持一个线程,即不支持超线程 Core(s) per socket:

JavaScript获取客户端计算机硬件及系统等信息的方法

JavaScript获取客户端计算机硬件及系统等信息的方法 JavaScript 获取客户端计算机硬件及系统信息 通过WMI来实现获取客户端计算机硬件及系统信息: function getSysInfo(){ var locator = new ActiveXObject ("WbemScripting.SWbemLocator"); var service = locator.ConnectServer("."); //CPU信息 var cpu = new En

# Linux Whois3获取 运营商信息

Linux Whois3获取 运营商信息 APNIC是管理亚太地区IP地址分配的机构,它有着丰富准确的IP地址分配库,同时这些信息也是对外公开的,并提供了一个查询工具,下面就让我们看看如何在Linux下获得一些中国基础电信运营商(网通.电信.铁通.教育网)的IP地址分配情况: (我们平时用whois查询是知道域名或IP查信息, 这里用的是知道地理区域批量查IP及其信息) 获取安装包 APNIC ripe-dbase-client-v3.tar.gz http://ftp.apnic.net/ap

Linux sysinfo获取系统相关信息

Linux中,可以用sysinfo来获取系统相关信息. #include <stdio.h> #include <stdlib.h> #include <errno.h> #include <linux/unistd.h> /* for _syscallX macros/related stuff */ #include <linux/kernel.h> /* for struct sysinfo */ //_syscall1(int, sysi

MD5做为文件名。机器唯一码有电脑的CPU信息和MAC地址,这两个信息需要在linux或unix系统下才能获取吧。

可以采用机器(电脑)唯一码 + 上传IP + 当前时间戳 + GUID ( + 随机数),然后MD5做为文件名.机器唯一码有电脑的CPU信息和MAC地址,这两个信息需要在linux或unix系统下才能获取吧. //获取电脑的CPU信息function OnlyU(){        $a = '';        $b = array();        if(function_exists('exec')){                if(mailto:[email protected]

C#获取计算机硬件信息(CPU,网卡,硬盘,内存等)

using System; using System.Collections.Generic; using System.Linq; using System.Management; using System.Text; namespace Formular { /// <summary> /// Author ZZH /// /// 获取计算机硬件信息 /// /// 可根据以下信息比对 /// /// CPU(CPU序列号) /// 网卡(Mac地址) /// 硬盘(硬盘ID) /// 系