C# WMI通过网络连接名称获取IP掩码网关

/// <summary>
        /// 读取IP,掩码,网关地址
        /// </summary>
        /// <param name="netConnectorName"></param>
        /// <param name="ip"></param>
        /// <param name="mask"></param>
        /// <param name="gateway"></param>
        public void GetIPAddress(string netConnectorName,out string ip, out string mask, out string gateway)
        {
            ip = string.Empty;
            mask = string.Empty;
            gateway = string.Empty;

              string guid;
            var find = FindNetConnectorGUID(netConnectorName, out guid);
            if (!find) return ;

            ManagementClass wmi = new ManagementClass("Win32_NetworkAdapterConfiguration");
            ManagementObjectCollection moc = wmi.GetInstances();
            ManagementBaseObject inPar = null;
            ManagementBaseObject outPar = null;
            foreach (ManagementObject mo in moc)
            {
                //如果没有启用IP设置的网络设备则跳过      
                //if (!(bool)mo["IPEnabled"])
                //    continue;

                var m = mo["SettingID"];
                if ((m != null) && (m.ToString() == guid))
                {

                    //比价是否一致
                    ip = ((string[])mo["IPAddress"])[0];
                    mask = ((string[])mo["IPSubnet"])[0];
                    gateway = ((string[])mo["DefaultIPGateway"])[0];
                    return;
                }
            }
        }

根据网络连接名称,使用wmi方式获取对应的网络连接配置信息

原文地址:https://www.cnblogs.com/Fighters/p/7272606.html