首页 > 代码库 > C#获取远程计算机硬件信息实例(支持linux和windows)
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);
/// 获取查询队列 ///
/// </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();
}
ManagementObjectSearcher query = new ManagementObjectSearcher(scm, oq);
return query.Get();
}
新增linux硬件信息获取
但linux主机获取不全面
欢迎提交linux硬件信息获取通用的shell命令
但linux主机获取不全面
欢迎提交linux硬件信息获取通用的shell命令
示例效果图如下:
C#利用开源项目SharpSsh远程执行linux的shell命令源码远程操作linux请看另一篇:
http://www.jm47.com/project/1213源码下载:http://www.jm47.com/project/1191
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。