使用“Netsh”轻松更改IP地址

在我的工作环境里,我们并没有在所有地方都应用DHCP。大多数场合我们都使用静态IP地址。使用静态IP地址通常不会带来什么问题,因为我们很少将台式机移来移去。可是,那些使用笔记本电脑的用户通常就需要在多个地点之间往返了。在不同的地点,他们被分配不同的IP地址。每更换一个地点,他们就会到一个.txt文本文件里查找相应的网络设置,然后再手动更改那些设置。这偶尔就会造成一些问题,因为用户有时会忘记更改网络设置的正确步骤并且不经意间也会打错数字。

最近,我想出了一个解决问题的好办法。对于各个地点,我都为笔记本电脑用户创建了一个可执行的简单批处理文件。当他们需要更改IP设置的时候,只需执行相应的批处理文件即可。

这个批处理文件使用了“Netsh”工具,总共只包含三条命令。第一条命令是:

Netsh interface ip set address name=“local area connection” 
source=static addr=static_ip_address
mask=subnet_mask gateway=gateway_ip 1

它的作用是更改TCP/IP接口。第一个参数设置了接口名称。参数里的名称必须与该接口的网络连接属性页里所显示的名称相匹配。尽管“本地连接”通常是第一个接口的名称,但是在你的笔记本电脑上还是可能有所不同的,所以你应该到相应的属性页加以核实。注意,当名称中包含空格的时候,你必须用双引号把名称包起来。

第二和第三个参数则分别设置了该地点的静态IP地址和相应的子网掩码。在这两个参数里,你需要用实际的静态IP地址和子网掩码来替换“static_ip_address”和“subnet_mask”。

最后一个参数配置的是默认网关。你得用实际默认网关的IP地址来替换“gateway_ip”。末尾的“1”则代表默认网关的数值。通常情况下,所有已安装的网络适配器都配置了数值“1”。

批处理文件里的第二条命令是:

netsh interface ip 
set dns name=“local area connection”
source=static addr=primary_dns_ip

这条命令配置了主DNS服务器的设置,你需要用主DNS服务器的实际IP地址来替换“primary_dns_ip”。

最后一条命令是:

netsh interface ip 
add dns name=“Local area connection” 
addr=secondary_dns_ip index=2

它配置了辅助DNS服务器的设置。你需要用辅助DNS服务器的实际IP地址来替换“secondary_dns_ip”。“index=2”参数指定了特定服务器的位置,在这里是“2”。如果你还想添加第三个DNS服务器的话,你只需将这个命令重复一遍,然后指定第三台DNS服务的IP地址并且把索引号改成“3”。

虽然“Netsh”已经出现一段时间了(微软首次推出“Netsh”工具是在Windows 2000里),但由于它具有如此之多的命令和参数,所以并不是最容易使用的工具。若想获得“Netsh”的帮助,你可以打开“cmd.exe”并运行以下命令:

“netsh.exe”

这时你会得到一个“netsh”提示符。如果你在提示符后键入一个问号(?),你就会得到一个可用命令列表以及相应的语法信息。你也可以在“使用Netsh”Web页(www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/netsh.mspx)找到“Netsh”的相关信息。当你创建完批处理文件后,你需要为它起一个合适的名字,并且把它放在用户的桌面上。以后,不管用户什么时候需要更改他们的IP设置,他们所要做的只是运行这个批处理文件。

需要注意的是,用户必须拥有相应的权限才可以运行批处理文件。当然,他们不一定非得是本地管理员。把他们放到“Network Configuration Operators”组就足够了。欲了解该用户组及其权限的更多信息,请阅读微软知识库文章“A Description of the Network Configuration Operators Group”,地址是support.microsoft.com/kb/297938。

分享到