netsh是一个非常有用的命令。功能非常强大。允许从本地或远程显示或者修改当前正在运行的计算机网络配置。netsh还提供了一个脚本功能,可以对指定的计算机批处理运行一组命令。
下面来介绍netsh 命令的强大之处。
1、计算机指定IP地址
命令格式解释:
命令语法:
netsh interface ip set address [name=]接口的名字 [source=]{dhcp | static [addr=]ip地址 [mask=]子网掩码 [gateway=]{none |defaultgateway [[gwmetric=]gatewaymetric]}}
命令参数说明:
[name=]网卡的名字   是必须配置的选项

[source=]{dhcp | static [addr=]ip地址 [mask=]子网掩码 [gateway=]{none |defaultgateway [[gwmetric=]gatewaymetric]}}
指定是通过DHCP服务器获取IP地址,还是使用静态IP地址。如果使用静态地址那么[addr=]ip地址将指定要配置的IP地址。而[mask=]子网掩码
将指定所配置IP地址的子网掩码。如果是静态地址还需要配置默认网关([gateway=]{none |defaultgateway)none为空 也就是没有网关。
[gwmetric=]gatewaymetric]是指定要配置的默认网关的跃点数。(默认为0 指的是网关与接口在同一网段)也是必须配置的选项.

例子:将本地连接配置采用DHCP服务器分配IP地址。

netsh interface set address name=本地连接 source=dhcp

配置成功会显示“确定”两字。

现在又将本地连接配置为静态IP。地址为:202.102.224.1 子网掩码:255.255.255.0 默认网关:202.102.224.254

netsh interface ip set address name=本地连接 source=static addr=202.102.224.1 mask=255.255.255.0 gateway=202.102.224.254 gwmetric=auto

注意:如果采用静态地址 必须要正确配置:addr、mask、gateway、gwmetric 命令格式也要注意 否则配置不成功

2、配置DNS服务器地址
设置DNS服务器地址的netsh命令语法:

netsh interface ip set dns [name=]接口的名字 [source=]{dhcp|static [addr=]{DNS服务器IP地址|none}} [register=]{none|primary|both}

命令参数解释:


[name=]接口的名字
[name=]网卡的名字   是必须配置的选项

[source=]{dhcp|static [addr=]{DNS服务器IP地址|none}}
必须配置项。指定DNS服务器的IP地址是通过DHCP获取,还是通过静态配置。如果是静态IP地址 用DNS服务器IP地址 变量指定配置的DNS服务器的IP地址。如果选择none选项 则删除DNS配置


[register=]{none|primary|both}
为可选项配置 指定计算机注册方式。none选项表示该计算机禁用动态DNS注册完整的计算机名;如果primary选项,则指定在主DNS服务器后缀下注册完整计算机名.
如果选择Both选项时 同时在主DNS和其他制定DNS服务器后缀下注册完整的计算机名。
以上命令只能为接口配置一个主DNS服务器的IP地址,备用DNS地址不能通过DNS服务器地址设置命令进行设置。需要用DNS服务器地址添加命令来配置。
举例:
配置自动获得DNS服务器地址(一般用在工作组的网络)
netsh interface ip set dns name=本地连接 source=dhcp
配置静态首选DNS服务器地址为192.168.1.1
netsh interface ip set dns name=本地连接 source=static addr=192.168.1.1 register=primary

 

利用netsh修改TCP/IP配置
1 删除IP地址
netsh interface delete address name=网卡名字 addr=网卡ip地址 gateway=default | all
参数all是删除所有默认网关
default 指定要删除的默认网关的ip地址
例子:
要删除192.168.1.10这个IP地址和192.168.1.1 这个默认网关
netsh interface ip delete address name=本地连接 addr=192.168.1.0 gateway=192.168.1.1
2 添加DNS服务器地址
刚刚上面说的那个命令只能设置一个首选DNS服务器地址 要添加多个DNS服务器地址必须用以下命令:
netsh interface ip add dns name=网卡名字 addr=DNS服务器地址 index=DNSindex
这条命令和上面差不多 只是对了个index=DNSindex 用来指定新添加的DNS服务器地址在接口中的DNS服务器列表的位置。
例如:要在本地连接中添加第二个备用DNS服务器地址192.168.1.100
netsh interface ip add name=本地连接 addr=192.168.1.100 index=2   //如果原来没有配置DNS服务器地址 它将成为首选DNS
3 删除DNS服务器地址
netsh interface ip delete dns name=网卡名字 addr=DNS服务器地址 | all
如:
要删除本地连接的DNS服务器地址:192.168.1.100
netsh interface ip delete dns name=本地连接 addr=192.168.1.100


利用netsh工具导出/导入IP配置

netsh命令可以把一些配置导出来
netsh -c interface ip dump>文本文件路径和文件名
如:
netsh -c interface ip dump>d:\1.txt
有导出就有导入
netsh -f 配置好的脚本文件
如:
netsh -f d:\1.txt


通过上面的了解现在可以把上面的命令结合在一起写成批处理文件
echo  #设置静态IP
netsh interface ipset name=本地连接 source=static addr=192.168.2.254 mask=255.255.255.0
echo  #设置默认网关
netsh interface ip set address name=本地连接 gateway=192.168.2.1 gwmetric=0
echo  #设置首选DNS
netsh interface ip set dns name=本地连接 source=static addr=221.5.88.88 register=primary
echo  #设置备用DNS
netsh interface ip add dns name=本地连接 addr=210.21.196.6 index=2
echo  #接口IP已经配置结束
shutdown -r -f