当前位置: 首页 > news >正文

【C#】设置有线网卡IP地址,子网掩码,网关,DNS

方法

    public partial class ComputerInfo{/// <summary>/// 设置IP地址,子网掩码,网关,DNS/// </summary>public static List<NetworkAdapterInfo> SetIpAddressSubMaskDnsGeteway(string ipAddress, string subMask, string geteWay, string dnsMain, string dnsBackup){List<NetworkAdapterInfo> networkAdapterInfos = new List<NetworkAdapterInfo>();//var str = new StringBuilder();ManagementBaseObject inPar = null;ManagementBaseObject outPar = null;ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");ManagementObjectCollection moc = mc.GetInstances();foreach (ManagementObject mo in moc){//屏蔽代码,避免出现无法修改未连接的有线网卡驱动//if (!(bool)mo["IPEnabled"])//    continue;networkAdapterInfos.Add(new NetworkAdapterInfo(){Description = mo["Description"].ToString(),IPEnabled = mo["IPEnabled"].ToString(),});//判断有线网卡var description = mo["Description"].ToString();//有线网卡//Realtek PCIe GbE Family Controller//无线网卡//Qualcomm QCA9565 802.11b/g/n Wireless Adapter//Realtek RTL8852AE WiFi 6 802.11ax PCle Adapter//Intel(R) Wi-Fi 6AX201 160MHzif (description.Contains("PCI") && new List<string>() { "Wireless", "WiFi", "Wi-Fi", "WLAN" }.Exists(w => description.Contains(w)) == false){//设置ip地址和子网掩码 inPar = mo.GetMethodParameters("EnableStatic");inPar["IPAddress"] = new string[] { ipAddress };inPar["SubnetMask"] = new string[] { subMask };outPar = mo.InvokeMethod("EnableStatic", inPar, null);//设置网关地址 inPar = mo.GetMethodParameters("SetGateways");inPar["DefaultIPGateway"] = new string[] { geteWay };outPar = mo.InvokeMethod("SetGateways", inPar, null);//设置DNS inPar = mo.GetMethodParameters("SetDNSServerSearchOrder");inPar["DNSServerSearchOrder"] = new string[] { dnsMain, dnsBackup };outPar = mo.InvokeMethod("SetDNSServerSearchOrder", inPar, null);}//foreach (var item in mo.Properties)//{//    str.Append($"{item.Name}:{item.Value}\r\n");//}}//var info = str.ToString();return networkAdapterInfos;}}

例子

var networkAdapterInfos = ComputerInfo.SetIpAddressSubMaskDnsGeteway("192.168.11.20", "255.255.255.0", "192.168.11.1", "192.168.11.1", "8.8.8.8");

参考:

1.区分有线网卡和无线网卡:https://www.cnblogs.com/CPFlying/archive/2010/03/14/1685733.html

2.设置ip:c# 如何对网络信息进行相关设置(ip,dns,网关等)_C#教程_脚本之家

http://www.lryc.cn/news/122441.html

相关文章:

  • LVS-DR集群及NGINX负载均衡
  • React如何配置env环境变量
  • VR全景智慧文旅,用科技助力旅游业振兴
  • 系统架构设计专业技能 · 系统安全分析与设计(四)【加解密、数字信封、信息摘要、数字签名、数字书证、网络安全、信息安全】
  • 基于WebSocket的在线文字聊天室
  • VS Code中C++程序的调试(Debug)功能
  • C#四个字节十六进制与单精度浮点数互转
  • Springloc和aop的基础概念
  • 算法练习Day43|● 518. 零钱兑换 II ● 377. 组合总和 Ⅳ
  • 人类:我觉得1+1=956446,你觉得呢?大模型:啊对对对
  • Offset Explorer
  • 查看CentOS版本及系统位数与设置CentOS 7.9 2009 防火墙配置放开端口的命令与过程
  • 前端css高级
  • 华为OD真题--字符串中最小的整数和--带答案
  • 9月30日生效:微软官方服务协议更新,防止人工智能进行逆向工程
  • HarmonyOS教育类APP项目实战系列课结课考试答案(1-10讲)80分就合格
  • 为什么要学习Oracle技术?
  • ffmpeg+intel核显实现硬解码
  • 电脑开机出现Boot Device怎么办?
  • 面试题. 一次编辑
  • Unity悬浮显示提示内容
  • 变形金刚在图像识别方面比CNN更好吗?
  • 【Javascript】ES6新增之类的认识
  • C#随机法 双峰函数 求极值 避免落入局部最优解
  • JavaScript高级:常见设计模式
  • 32bit国产低功耗无线MCU芯片
  • scope组件穿透
  • 分类预测 | Python实现LR逻辑回归多输入分类预测
  • 【微信小程序】通过使用 wx.navigateTo方法进行页面跳转,跳转后的页面中通过一些方式回传值给原页面
  • DIP: Spectral Bias of DIP 频谱偏置解释DIP