您的位置:首页 > 其它

在windows中用 netsh 命令修改ip地址网关和DNS等

2011-06-05 22:18 302 查看
在windows中用 netsh 命令修改ip地址网关和DNS等

下面是两个关于netsh的用法,将它们复制到文本文档中,将后缀名 .txt 改为 .cmd直接双击就可以执行:

第一个是用netsh命令来修改电脑的IP地址,子网掩码,默认网关和DNS.

@echo off

netsh interface ip set address "本地连接" static 192.168.0.1 255.255.255.0 192.168.0.254 1

netsh interface ip set dns "本地连接" static
202.194.40.1

netsh interface ip add dns "本地连接" 202.194.40.2 2


注意:上面用蓝色字体表出的部分是需要你修改的部分。其中第二,三,四行中 "本地连接" 一般不需要修改,这要看你的电脑中右击 “网上邻居”,选择“属性”出现“网络连接”窗口中的连接名而定,一般的只有一个“本地连接”。

第二行中的192.168.0.1 255.255.255.0 192.168.0.254 三个地址依次为IP地址,子网掩码和默认网关,把它们换成你要修改的地址。

第三行中的 202.194.40.1 为DNS的地址,把它换成你要修改的DNS地址即可。

第四行中的202.194.40.2 为辅助DNS地址,也就是第二个,把它换成你要修改的第二个DNS地址即可,如果没有的话,可以把第四行直接删除即可。

第二个是用netsh命令来修改电脑的IP地址,子网掩码,默认网关和DNS为动态获取.

@echo off

netsh interface ip set address "本地连接" dhcp

netsh interface ip set dns "本地连接" dhcp


注意:这个比较简单,只需根据自己电脑的情况,修改一下蓝色字体标注的"本地连接" 即可,一般不需要修改。

下面这篇文章是关于 netsh 命令的详细用法,看完后,你会明白它的其它一些用法。

在 Windows 2000 中可以使用 netsh 命令为以下过程编写脚本:将计算机的静态 Internet 协议 (IP) 地址更改为动态主机配置协议 (DHCP) 地址或相反。netsh 命令无需重新启动计算机即可完成此任务。对于从一个环境移到另一个环境的便携式计算机,当它在一个位置中必须使用静态分配的 IP 地址,而在另一个位置必须使用 DHCP 分配的 IP 地址时,此功能尤其有用。

本文所说的方法适应于Windows 2000,Windows XP和Windows Server 2003。

要将指定适配器的静态地址切换为 DHCP 地址,请键入以下命令:

netsh interface ip set address "本地连接" dhcp
注意:键入此命令会将名为"本地连接"的接口更改为 DHCP。

要显示计算机中的所有适配器及其当前 IP 地址,以确定正确的适配器名称,请键入以下命令:
Netsh interface ip show config
要更改为静态地址,请键入以下命令:
netsh interface ip set address "本地连接" static  IP  掩码  网关  跃点数
如:
netsh interface ip set address "本地连接" static 192.168.0.10 255.255.255.0 192.168.0.1 1

更改DNS为192.168.0.1:
netsh interface ip set DNS "本地连接" static 192.168.0.1

删除网关:
netsh interface ip delete address "本地连接" gateway=all

删除DNS:

netsh interface ip delete dns "本地连接" all

如果执行配置时提示"指定了无效的接口",则请您开启系统的"Remote Registry Service"服务。

控制面板-->管理工具-->服务-->开启Remote Registry Service

修改ip,子网掩码,网关,dns。“网络连接名”是你机器上网络属性里看到的连接名,把下面改成自己的连接名。

netsh interface ip set address "网络连接名" static 192.168.0.88 255.255.255.0 192.168.0.1 1

netsh interface ip set dns "网络连接名" static 202.216.224.66

netsh interface ip add dns "网络连接名" 202.216.224.67
如果要改成动态分配ip和自动获得dns使用下面命令。

netsh interface ip set address "网络连接名" dhcp

netsh interface ip set dns "网络连接名" dhcp

由于我所处的地方要经常在不同的网络之间切换,比如局域网、系统内部网和外网(光是外网我要常常在3个ADSL
网之间切换)。我之前一直用的方法是在本机上设置多个不同网段的IP,然后切换路由(Route),这样不同的网段通过不同的网关出去,就可以达到同时访
问多个网络的目的。但是这样我发现经常可能出现一些问题,所以我决定用最原始的方法来解决,那就是在要使用某一个网段的时候就只用这个网段的IP,这样就
需要不停的更换IP地址。当然,在Windows的“网络连接”属性中这样的更改是很麻烦的,不过还好的是,Windows的“netsh”命令提供了命
令行下更改IP的功能,利用这一点,可以将它做成BAT的批处理文件,就方便多了。
以下就是具体的方法和命令详解:
首先进入命令提示行:“Win+R”>“cmd”,回车

输入netsh,回车,出现:netsh>

再输入interface,回车,出现netsh interface>

再输入ip,回车,出现netsh interface ip>
进入IP设置项了,我们要用到以下的命令:

set address - 添加一个 IP 地址到指定的接口。
先看看关于此令的windows帮助:

--------------------------------------------------------------------------

用法: set address [name=]<string>

[[source=]dhcp |

[source=] static [addr=]IP address [mask=]IP subnet mask]

[[gateway=]<IP address>|none [gwmetric=]integer]
参数:
标记 值

name - 接口名称。

source - 下列值之一:

dhcp: 对于指定接口,设置用 DHCP 配置 IP

地址。

static: 设置使用本地静态配置设置 IP

地址。
gateway - 下列值之一:

<IP address>: 您设置的 IP 地址的指定默认

网关。

none: 不设置默认网关。

gwmetric - 默认网关的跃点数。如果网关设置为 'none',则

不应设置此字段。

只有在 'source' 为 'static' 时才设置下列选项:
addr - 指定接口的 IP 地址。

mask - 指定 IP 地址的子网掩码。
注释 : 用来将 IP 地址配置模式从 DHCP 模式改为 static,或从 static

模式改为 DHCP。用静态 IP 地址在接口上添加 IP 地址,或添加

默认网关。

示例 :
set address name="Local Area Connection" source=dhcp

set address local static 10.0.0.9 255.0.0.0 10.0.0.1 1

----------------------------------------------------------------------------
了解了用法之后,我们就可以进行设置了:

在netsh interface ip>之后输入

set address "本地连接" static 192.168.4.23 255.255.255.192 192.168.4.1 1

然后回车,稍候会显示“确定”,IP设置完毕。

这里解释一下,“本地连接”是指Windows“网络属性”中看到的连接的名称,static表示要指定静态IP而非DHCP指派,后面三个分别是IP,子网掩码,网关,最后的“1”是指默认网关的跃点数,一般为“1”。
至此,命令行下设置IP完成。

同时你还可以在命令行下更改DNS设置,用的是set dns命令,你可以输入set dns /?查看使用方法。
最后,我们将这些命令保存为一个BAT文件(setIP192168423.bat):

@echo off

rem eth //eth 为网卡名称,可在网络连接中查询,如"本地连接"

set eth="本地连接"

rem ip //ip 为你想更改的IP

set ip=192.168.4.23

rem gw //gw 为网关地址

set gw=192.168.4.1

rem netmasks //netmasks 为子网掩码

set netmasks=255.255.255.192

echo 正在将本机IP更改到: %ip%

rem

if %gw%==none netsh interface ip set address %eth% static %ip% %netmasks% %gw% > nul

if not %gw%==none netsh interface ip set address %eth% static %ip% %netmasks% %gw% 1 > nul

echo.........................

echo 检查当前本机IP:

ipconfig

echo.........................

echo 成功将本机IP更改为%ip%!

pause

close
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: