Delphi 调用netsh命令修改IP地址

Delphi 调用netsh命令修改IP地址
先介绍一下Netsh命令的使用方法:

在这里跟大家介绍几个简单的指令
1.Show IP
1.1Cmd Mode
直接在cmd下面输入
netsh interface ip show address
亦可简写为
netsh int ip sh ad
看看,指令是不是和Cisco的nos指令很像!非常怀疑是抄袭Cisco的。 1.2Netsh Mode
您也可以进入netsh的命令模式下
netsh //进入到 netsh mode
netsh>int //进入到 interface 子选项。
interface>ip //進入到 ip 子选项。
interface ip>show
show address - 显示 IP 位址。
show config - 显示 IP 位址及其他资料。
show dns - 显示 DNS 服务器位址。
show icmp - 显示 ICMP 统计
show interface - 显示 IP 介面统计
show ipaddress - 显示 IP 位址
show ipnet - 显示 IP net-to-media 对应
show ipstats - 显示 IP 统计
show joins - 显示加入的多点传送群组
show offload - 显示 offload 内容
show tcpconn - 显示 TCP 连线
show tcpstats - 显示 TCP 统计
show udpconn - 显示 UDP 连线
show udpstats - 显示 UDP 统计
show wins - 显示 WINS 服务器位址。
2.Set IP
下列是所有可用的指令。
这个內容中的指令:
set address - 在指定的介面设定 IP 位址或预设网关。
set dns - 设定 DNS 服务器模式及位址。
set wins - 设定 WINS 服务器模式及位址。2.1.设定IP位址
2.1.1.DHCP设定
若您希望由DHCP取得IP位址可输入
interface ip>set ad "区域连接" DHCP
或简写成
interface ip>set ad "区域连接" D2.1.2.静态IP设定
2.1.2.1.设定IP位址与子网关
netsh -进入到 netsh mode
netsh>int -进入到 interface 子选项。
interface>ip -进入到 ip 子选项。
interface ip>set address name = "区域连接" source = static addr = 10.2.2.100 mask = 255.255.255.0
可简写成
interface ip>set ad "区域连接" s 10.2.2.100 255.255.255.02.1.2.2.设定IP路由
interface ip>set address name = "区域连接" gateway = 10.2.2.254 gwmetric = 1
可简写成
interface ip>set ad "区域连接" ga=10.2.2.254 gw = 12.1.2.3同时设定IP位址和路由
interface ip>set address name = "区域连接" source = static addr = 10.2.2.100 mask = 255.255.255.0 gateway = 10.2.2.254 gwmetric = 1
可简写成
interface ip>set ad "区域连接" s 10.2.2.100 255.255.255.0 10.2.2.254 1设定完後,记得用sh ad去看一下设定的對不對。2.3设定DNS来源
若是由DHCP取得,请输入
interface ip>set dns "区域连接" source=dhcp
若是使用静态设定,请输入
interface ip>set dns name = "区域连接" source = static addr = 10.2.5.2
新增第二組DNS,请输入
interface ip>add dns name = "区域连接" addr = 10.2.5.32.4设定WINS来源
若是由DHCP取得,请输入
interface ip>set wins "区域连接" source=dhcp
若是使用静态设定,请输入
interface ip>set wins name = "区域连接" source = static addr = 10.2.5.10
新增第二組WINS,请输入
interface ip>add wins name = "区域连接" addr = 10.2.5.17
3.将网路状态设定导出/导入
3.1导出
netsh -c interface dump >c:/netset.txt
当然,interface可以简写成int,dump更可简化成d,所以就变成了
netsh -c int d >c:/netset.txt
3.2导入
netsh -f c:/netset.txt 既可在Delphi中调用过程:
//设置成自动获取IP:
NetShTxt := ‘netsh interface ip set address ‘ + ‘"‘ + NetWork + ‘"‘ + ‘ source=dhcp‘;
winexec(pchar(NetShTxt), sw_hide);
//以下代码设置IP地址和网关:
NetShTxt := ‘netsh interface ip set address name=‘ + ‘"‘ + NetWork + ‘"‘ + ‘ source=static addr=‘ + IPAddress.IPString + ‘ mask=‘ + submask.IPString;
winexec(pchar(NetShTxt), sw_hide);
//网关
NetshTxt := ‘netsh interface ip set address name=‘ + ‘"‘ + NetWork + ‘"‘ + ‘ gateway=‘ + DefaultGateway.IPString + ‘ gwmetric=0‘;
winexec(pchar(NetShTxt), sw_hide);
其中使用了IPEdit,这个组件,经过修改,已经基本能用于IP地址的输入和获取.本来从网上下载的以为能用,可实际用的过程中会发现不少问题.
设置DNS:
NetshTxt := ‘netsh interface ip set dns name=‘ + ‘"‘ + NetWork + ‘"‘ + ‘ source=static addr=‘ + FirstDns.IPString + ‘ register=PRIMARY‘;
winexec(pchar(NetShTxt), SW_Hide);
//netsh interface ip add dns name="本地连接" addr=你的DNS的IP地址 index=2
NetshTxt := ‘netsh interface ip add dns name=‘ + ‘"‘ + NetWork + ‘"‘ + ‘ addr=‘ + SecondDNS.IPString + ‘ index=2‘;
注意以上第二个DNS,添加用的命令:
//netsh interface ip add dns name="本地连接" addr=你的DNS的IP地址 index=2
第三个DNS:
//netsh interface ip add dns name="本地连接" addr=你的DNS的IP地址 index=3后期调用winExec执行,感觉很不错,注意生成后使用GetAdaptersInfo函数进行检查一下IP地址是否设置正确.
在网络上流传的好多类似的工具都是这个原理.

设为dhcp   
   winexec(‘netsh    interface    ip    set    address    本地连接1    dhcp‘,SW_HIDE);   
    
   设为手工ip   
   WinExec(‘netsh    interface    ip    set    address    本地连接1    static    192.168.1.189    255.255.255.0    192.168.1.1    1‘,SW_HIDE);

设置IP地址  
  shellexecute(handle,‘‘,‘netsh   interface   ip   set   address   ‘   +   SRegedit   +  
                            ‘static   192.168.0.1   255.255.255.0   192.168.0.10   1‘,nil,nil,sw_hide)

时间: 2024-10-12 15:10:29

Delphi 调用netsh命令修改IP地址的相关文章

Dos命令修改IP地址等

公司地址和家中地址不在一个网段,所以每次回来之后要手动去重新切换ip.掩码.网关等,有点麻烦. 尝试在ip配置页中的高级选项中添加ip和网关,但是换了环境之后,发现还是不行. 后面发现,网关那只有一个是默认的,所以添加的另一个网关不起作用~~~. 可以新建两个bat文件(一个是home,一个是comp),写入下列命令保存. netsh interface ip set address name="本地连接" source=static addr=192.168.3.252 mask=2

CMD修改IP地址

在操作系统下,我们可以使用"本地连接"的属性来修改IP地址,但是如果我们要在多个IP地址之间切换,使用这种方法未免过于麻烦.我们可以使用NETSH命令来添加,相当简便.使用DOS修改IP地址方法如下: 一.使用netsh命令添加IP地址 比如我想在我的本地连接里添加一个IP,用netsh的例子就是: netsh int ip add address "本地连接" 192.168.0.100 255.255.255.0 cmd /k netsh interface i

命令更改ip地址一

使用netsh命令添加IP地址 如用户需要在本地连接里添加一个IP,使用netsh添加如下信息: netsh int ip add address "本地连接" 192.168.0.100 255.255.255.0 cmd /k netsh interface ip set dns name="本地连接" source=static addr=202.103.96.68 1.更改静态IP地址: 命令:netsh interface ip set address &

命令更改ip地址2

设置DNS: 自动获取DNS c:/>netsh interface ip set address name="本地连接" sourse=dhcp 手动设置单个DNS c:/>netsh interface ip set address name="本地连接" sourse=static addr=210.52.149.2 register=primary 手动设置多个DNS c:/>netsh interface ip set address n

如何用脚本快速修改IP地址(Netsh)

如何用脚本快速修改IP地址(Netsh) 如果通过Windows的网络属性修改Ip/网关,真是太麻烦了.最近一个项目经常要切换ip,所以我写了两个脚本:c:\116.bat netsh interface ip set address "本地连接" static 10.45.128.116 255.255.255.0 10.45.128.254 1 c:\172.bat netsh interface ip set address "本地连接" static 172

Linux系统下修改IP地址、网关、DNS的基本方法

临时修改IP地址.网关.主机名.DNS,马上生效,无需重启(重启后失效) 1.修改主机名 #hostname Slyar 2.修改IP地址(eth0为网卡名称) #ifconfig eth0 192.168.1.5 netmask 255.255.255.0 3.修改默认网关(eth0为网卡名称) #route add default gw 192.168.1.1 dev eth0 4.修改DNS #vim /etc/resolv.conf CentOS(RedHat)命令行永久修改IP地址.网

CentOS系统使用配置文件修改IP地址详细教程

在VM虚拟机安装的centos系统,默认使用的是dhcp自动获取ip地址的方式,而我自己想用这个centos在局域网内搭建一个小型演示站点,这个自动获取ip地址的方式就明显不好了,那么centos如何修改ip地址呢. 作者服务器也用的是centos,都是租用空间商的人家都直接设置好,而本地以前一直用的是Windows很少用到centos忽然间发现自己centos不会修改ip地址了.百度谷歌搜索一大堆总算是解决了,本文这里就详细的说明一下及centos网络配置也一起详细讲解一下,希望可帮助正需要这

利用Shell命令获取IP地址

一 :获取单个网卡的IPv4地址,方法如下: 方法一:$/sbin/ifconfig ethX | awk '/inet addr/ {print $2}' | cut -f2 -d ":" 方法二:$/sbin/ifconfig ethX | awk '/inet addr/ {print $2}' | awk -F: '{print $2}' 方法三:$/sbin/ifconfig ethX | sed -ne 's/\(.*\)addr:\([[:digit:].]*\)\(.*

Centos如何设置IP地址,LINUX怎么修改IP地址

Centos如何设置IP地址,LINUX怎么修改IP地址 1 2 3 4 5 6 7 分步阅读 百度经验:jingyan.baidu.com 对于很多刚刚接触linux的朋友来说,如何设置linux系统的IP地址,作为第一步,下面小编以centos系统为例,给大家演示如何给centos设置IP地址,如何修改linux 系统IP地址? 步骤阅读 百度经验:jingyan.baidu.com 工具/原料 linux系统,centos 百度经验:jingyan.baidu.com 查看IP地址 1 登