可以通过使用命名空间下的ManagementObjectSearcher类及其方法Get来获得通用网卡信息。

其中,最重要的是ManagementObjectSearcher构造函数的输入参数,可以传入以下的QueryString。

SELECT * FROM Win32_NetworkAdapterConfiguration

以下的例子为将本地网卡的配置信息写入一个文件并保存,代码如下:

 using System.IO;
using System.Linq;
using System.Management; namespace ConsoleApp
{
class Program
{
static void Main(string[] args)
{
ManagementObjectSearcher managementObjectSearcher = new ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapterConfiguration") ;
ManagementObjectCollection managementObjectCollection = managementObjectSearcher.Get();
StreamWriter writer = new StreamWriter("result.csv");
bool isFirstRow = true;
foreach (ManagementObject managementObject in managementObjectCollection)
{
string header = string.Empty;
string content = string.Empty;
string separator1 = ",";
string separator2 = " | ";
foreach (var item in managementObject.Properties)
{
if (isFirstRow)
{
header = $"{header}{separator1}{item.Name}";
}
string valueTemp = string.Empty;
if (item.Value != null)
{
if (item.Value is string[] || item.Value is ushort[])
{
string[] valuesStrTemp;
if(item.Value is ushort[])
valuesStrTemp = ((ushort[])item.Value).Select(x => x.ToString()).ToArray();
else
valuesStrTemp = item.Value as string[]; for (int i = ; i < valuesStrTemp.Length; i++)
{
valueTemp = $"{valueTemp}{separator2}{valuesStrTemp[i]}";
}
if(valuesStrTemp.Length != )
valueTemp = valueTemp.Remove(, separator2.Length);
}
else
valueTemp = item.Value.ToString();
}
content = $"{content}{separator1}{valueTemp}";
}
if (isFirstRow)
{
header = header.Remove(, separator1.Length);
writer.WriteLine(header);
isFirstRow = false;
}
content = content.Remove(, separator1.Length);
writer.WriteLine(content);
}
writer.Close();
}
}
}

运行结果如下:

C# 获得本地通用网卡信息的更多相关文章

  1. Spring boot集成 MyBatis 通用Mapper

    配置 POM文件 <parent> <groupId>org.springframework.boot</groupId> <artifactId>sp ...

  2. OracleVM桥接网卡无法获取本地连接网卡

    问题现象 VM虚拟机采用桥接网卡时,界面名称为"未指定",无法获取本地连接对应网卡信息: 处理方式: 进入本地连接,选择本地连接右键进入属性设置窗口; 选择安装,单击服务选项后点击 ...

  3. C#-VS SQLServer数据库编程-摘

    ado.net 通用类对象.在本地内存暂存数据 托管类对象.让本地通用类对象连接数据库,让本地通用类对象和数据库同步 连接数据库 new connection(connectstring) comma ...

  4. C#-ado.net学习笔记-会有更新

    ado.net 通用类对象.在本地内存暂存数据 托管类对象.让本地通用类对象连接数据库,让本地通用类对象和数据库同步 连接数据库 new connection(connectstring) comma ...

  5. 选择ORACLE数据库字符集

    如何选择数据库的字符集是一个有争议的话题,字符集本身涉及的范围很广,它与应用程序.客户的本地环境.操作系统.服务器等关系很密切,因此要做出合适的 选择,需要明白这些因素之间的关系.另外对字符集的基本概 ...

  6. 【AD】实用组策略/脚本集合 (重大更新20160627)

    文章原始出处 http://blog.51cto.com/xifanliang/1793576 http://bbs.51cto.com/thread-1170777-1.html 作者:xifaln ...

  7. php localeconv() 函数实例讲解

    php localeconv() 函数返回一包含本地数字及货币格式信息的数组.本文章向码农介绍php localeconv() 函数的使用方法和基本实例.需要的码农可以参考一下. 定义和用法 loca ...

  8. [置顶] linux常用命令大全

    SSH 密令控制台 user/pwd 一:停止tomcat 1,cd .. 进入根目录 2,cd home/ 3,ll 4,cd bin/ 进入tomcat bin目录 5,ll 6,ps -ef | ...

  9. kali linux: 网卡监听及扫描网络

    一.网卡监听: kali不支持内置网卡,仅仅支持usb网卡.我用的虚拟机.首先在虚拟机的可移动设备里打开usb网卡的连接,执行ifconfig命令,如下: eth0接口是本地有线网卡信息,lo接口是本 ...

随机推荐

  1. K8s 学习者绝对不能错过的最全知识图谱(内含 58个知识点链接)

    作者 | 平名 阿里服务端开发技术专家 导读:Kubernetes 作为云原生时代的“操作系统”,熟悉和使用它是每名用户的必备技能.本篇文章概述了容器服务 Kubernetes 的知识图谱,部分内容参 ...

  2. 配置 SSL、TLS 以及 HTTPS 来确保 Elasticsearch、Kibana、Beats 和 Logstash 的安全

    配置主机hosts文件 192.168.75.20 filebeat.local kibana.local logstash.local 192.168.75.22 node2.elastic.tes ...

  3. 【spring boot】【idea】100.idea新建一个spring boot项目

    1.idea新创建一个项目 2.setting进入,选择自己的Maven 3.简单补充一下pom.xml <?xml version="1.0" encoding=" ...

  4. 我是如何一步步编码完成万仓网ERP系统的(十三)库存 2.加权平均价

    https://www.cnblogs.com/smh188/p/11533668.html(我是如何一步步编码完成万仓网ERP系统的(一)系统架构) https://www.cnblogs.com/ ...

  5. 2019国际VR/AR暨3D显示大会内容总结

    一.VR/AR标准化进程           牟同生(浙大) 1.单眼FOV,双眼FOV FOV:又称视场,视角FOV是指镜头所能覆盖的范围(物体超过这个范围就不会被收在镜头内),一般用角度值表示. ...

  6. 学习笔记之Web

    学习笔记之JavaScript - 浩然119 - 博客园 https://www.cnblogs.com/pegasus923/p/9436340.html 学习笔记之PHP - 浩然119 - 博 ...

  7. JVM参数最佳实践:元空间的初始大小和最大大小

    本文阅读时间大约4分钟. JVM加载类的时候,需要记录类的元数据,这些数据会保存在一个单独的内存区域内,在Java 7里,这个空间被称为永久代(Permgen),在Java 8里,使用元空间(Meta ...

  8. HTML5-表单 自带验证

    表单语法<form method="post"(规定如何发送表单数据 常用值:get|post) action="result.html">(表示向 ...

  9. 并发编程(二)--利用Process类开启进程、僵尸进程、孤儿进程、守护进程、互斥锁、队列与管道

    一.multiprocessing模块 1.multiprocessing模块用来开启子进程,并在子进程中执行我们定制的任务(比如函数),该模块与多线程模块threading的编程接口类似. 2.mu ...

  10. Linux搭建邮件服务器Postfix+Dovecot+MySQL+PHP

    用于搭建的服务器信息 阿里云 Centos 6.5 32位 安装过程1.安装Postfix 版本(2:2.6.6-8.el6) yum -y install postfix 安装完成还需要替换系统自带 ...