社区
Web Services
帖子详情
如何通过编程实现动态更改ip、网关及DHCP配置
lightgun
2003-09-08 10:43:55
如何通过编程实现动态更改ip、网关及DHCP配置(操作系统为2000和98)
针对DHCP选项,如何通过编程使原先的DHCP选项中的Enable变为Disable
ip及网关的配置,如何通过编程删除原先的ip及网关。
由于在MSDN中未找到合适的函数,希望大家指点
...全文
245
5
打赏
收藏
如何通过编程实现动态更改ip、网关及DHCP配置
如何通过编程实现动态更改ip、网关及DHCP配置(操作系统为2000和98) 针对DHCP选项,如何通过编程使原先的DHCP选项中的Enable变为Disable ip及网关的配置,如何通过编程删除原先的ip及网关。 由于在MSDN中未找到合适的函数,希望大家指点
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xz_king
2003-09-22
打赏
举报
回复
学习
peering08cn
2003-09-20
打赏
举报
回复
关注
redfoilsman
2003-09-19
打赏
举报
回复
上面的程序怎样引用 using System.Management;
谢谢
huxin1012
2003-09-19
打赏
举报
回复
楼上的方法,可以修改,但我修改的结果是
修改之后,无法看到网上邻居的内容了。必须先禁用本地连接,再启动本地连接后才有用。
谁能解释一下?
再有,如何使网关的内容为空呢?
carper
2003-09-09
打赏
举报
回复
C#实现更改IP功能(原码)
作者:痕迹
http://www.uncj.net/news/show.aspx?id=132
using System;
using System.Management;
namespace ArLi.CommonPrj {
public class ChangeIP {
/// <summary>
/// Build of ArLi 2003.6.3
/// </summary>
public static readonly System.Version myVersion = new System.Version(1,1);
private ManagementBaseObject iObj = null;
private ManagementBaseObject oObj = null;
private ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
private readonly ManagementObjectCollection moc;
/// <summary>
/// example:
/// <code>
/// ArLi.CommonPrj.ChangeIP o = new ArLi.CommonPrj.ChangeIP();
/// string[] ipList = new string[]{"192.168.0.253","192.168.0.250"};
/// string[] subnetList = new string[]{"255.255.255.0","255.255.255.0"};
/// o.ChangeTo(ipList,subnetList);
/// </code>
/// </summary>
public ChangeIP(){
moc = mc.GetInstances();
}
/// <summary>cortrol</summary>
/// <param name="ipAddr">IPAddr List</param>
/// <param name="subnetMask">subnetMask List</param>
public void ChangeTo(string[] ipAddr,string[] subnetMask) {
foreach(ManagementObject mo in moc) {
if(! (bool) mo["IPEnabled"]) continue;
iObj = mo.GetMethodParameters( "EnableStatic" );
iObj["IPAddress"] = ipAddr;
iObj["SubnetMask"] = subnetMask;
oObj = mo.InvokeMethod("EnableStatic", iObj, null);
}
}
/// <summary>cortrol</summary>
/// <param name="ipAddr">IPAddr List</param>
/// <param name="subnetMask">subnetMask List</param>
/// <param name="gateways">gateway List</param>
/// <param name="gatewayCostMetric">gateway CostMetric List, example: 1</param>
public void ChangeTo(string[] ipAddr, string[] subnetMask, string[] gateways, string[] gatewayCostMetric) {
foreach(ManagementObject mo in moc) {
if(! (bool) mo["IPEnabled"]) continue;
iObj = mo.GetMethodParameters("EnableStatic");
iObj["IPAddress"] = ipAddr;
iObj["SubnetMask"] = subnetMask;
oObj = mo.InvokeMethod("EnableStatic", iObj, null);
iObj = mo.GetMethodParameters("SetGateways");
iObj["DefaultIPGateway"] = gateways;
iObj["GatewayCostMetric"] = gatewayCostMetric;
oObj = mo.InvokeMethod("SetGateways", iObj, null);
}
}
/// <summary>cortrol</summary>
/// <param name="ipAddr">IPAddr List</param>
/// <param name="subnetMask">subnetMask List</param>
/// <param name="gateways">gateway List</param>
/// <param name="gatewayCostMetric">gateway CostMetric List, example: 1</param>
/// <param name="dnsServer">DNSServer List</param>
public void ChangeTo(string[] ipAddr, string[] subnetMask, string[] gateways, string[] gatewayCostMetric, string[] dnsServer) {
foreach(ManagementObject mo in moc) {
if(! (bool) mo["IPEnabled"]) continue;
iObj = mo.GetMethodParameters("EnableStatic");
iObj["IPAddress"] = ipAddr;
iObj["SubnetMask"] = subnetMask;
oObj = mo.InvokeMethod("EnableStatic", iObj, null);
iObj = mo.GetMethodParameters("SetGateways");
iObj["DefaultIPGateway"] = gateways;
iObj["GatewayCostMetric"] = gatewayCostMetric;
oObj = mo.InvokeMethod("SetGateways", iObj, null);
iObj = mo.GetMethodParameters("SetDNSServerSearchOrder");
iObj["DNSServerSearchOrder"] = dnsServer;
oObj = mo.InvokeMethod("SetDNSServerSearchOrder", iObj, null);
}
}
/// <summary>DHCPEnabled</summary>
public void EnableDHCP() {
foreach(ManagementObject mo in moc) {
if(! (bool) mo["IPEnabled"]) continue;
if(! (bool)mo["DHCPEnabled"]) {
iObj = mo.GetMethodParameters("EnableDHCP");
oObj = mo.InvokeMethod("EnableDHCP", iObj, null);
}
}
}
}
}
C#
实现
更改
IP
功能源码
本文提供了一段 C# 代码示例,展示了如何通过 Win32 API
动态
更改
计算机的
IP
地址、子网掩码、默认
网关
及 DNS 服务器设置,并提供了启用
DHCP
的方法。
关闭路由器的
DHCP
服务带来的影响及
编程
实现
关闭路由器的
DHCP
服务会导致设备需手动分配
IP
地址,增加管理复杂性并限制设备流动性。文章提供了一个Python
编程
实例,演示如何手动分配
IP
地址,以应对关闭
DHCP
服务带来的挑战。但同时也指出,手动管理大量设备的
IP
地址可能增加错误风险。
掌握网络
编程
:
IP
地址获取的代码
实现
与实战
本文面向初学者,深入解析计算机网络中
IP
地址的获取方法,涵盖静态
IP
配置
、
动态
IP
分配,以及
编程
获取本机和特定网络接口的
IP
地址。还介绍了处理
IP
v4和
IP
v6地址的方法,以及检测
IP
地址冲突的方式,助力开发者在网络领域打好基础。
虚拟机centos
dhcp
服务器,构建
DHCP
服务器(以Centos为例)
本文介绍了如何在Linux系统中
配置
DHCP
服务器,包括安装软件包、编辑
配置
文件、设置地址池和静态
IP
,以及启动和测试
DHCP
服务。详细步骤包括yum安装
DHCP
软件、编辑/etc/
dhcp
/
dhcp
d.conf
配置
文件,并展示了
配置
示例。在测试阶段,确保客户端能够通过
DHCP
获取到
IP
地址,验证
配置
成功。
Kali与
编程
:Winserver 2019搭建
dhcp
服务器
本文详细介绍了如何在Windows Server 2019上
配置
DHCP
服务器,包括安装步骤、作用域设置和客户端获取
IP
的过程。通过
DHCP
简化网络管理,提升效率并避免
IP
冲突。
Web Services
12,165
社区成员
16,323
社区内容
发帖
与我相关
我的任务
Web Services
.NET技术 Web Services
复制链接
扫一扫
分享
社区描述
.NET技术 Web Services
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章