很多公司工作过程中,都涉及到多重网络问题。频繁的切换网络就会涉及到一个IP频繁配置的问题。
首先,看一下netsh命令。
Netsh是一个功能非常强大的系统内置命令。如果能了解一点常规操作的话,对管理员来说有时会有意想不到的帮助。比如我的客户的系统都是做过一些策略的。好多操作还必须在命令行下完成。下面简单介绍几个常用功能。其它的可以参考netsh的帮助文件。
a) 启用防火墙
C:\>netsh firewall set opmode mode = enable
确定。
b) 关闭防火墙
C:\>netsh firewall set opmode mode = disable
确定。
c) 重置防火墙
C:\>netsh firewall reset
确定。
1、查看网络配置
netsh interface ip show {选项}
{选项}可以是:
address - 显示 IP 地址配置。
config - 显示 IP 地址和更多信息。
dns - 显示 DNS 服务器地址。
icmp - 显示 ICMP 统计。
interface - 显示 IP 接口统计。
ipaddress - 显示当前 IP 地址
ipnet - 显示 IP 的网络到媒体的映射。
ipstats - 显示 IP 统计。
joins - 显示加入的多播组。
offload - 显示卸载信息。
tcpconn - 显示 TCP 连接。
tcpstats - 显示 TCP 统计。
udpconn - 显示 UDP 连接。
udpstats - 显示 UDP 统计。
wins - 显示 WINS 服务器地址。
2、配置接口IP/网关IP
netsh interface ip set address "本地连接" static 192.168.1.100 255.255.255.0 192.168.1.253
------------------------------
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.
C:\>netsh interface ip show config
接口 "本地连接" 的配置
DHCP 启用 否
IP 地址 192.168.1.100
子网掩码 255.255.255.0
默认网关: 192.168.1.253
GatewayMetric: 0
InterfaceMetric 0
静态配置的 DNS 服务器: 202.96.209.134
静态配置的 WINS 服务器: 无
用哪个前缀注册: 只是主要
3、配置自动换取IP地址,DNS地址及wins地址
netsh interface ip set address "本地连接" dhcp
netsh interface ip set dns "本地连接" dhcp
netsh interface ip set wins "本地连接" dhcp
4、配置静态IP地址,DNS地址及wins地址
netsh interface ip set address "本地连接" static 192.168.1.253
netsh interface ip set dns "本地连接" static 202.96.209.6
netsh interface ip set wins "本地连接" static 192.168.1.1
5、查看并导出网络配置文件
C:\>netsh interface dump >c:\dump.txt (">"表示导出。">>"表示追加)
#========================
# IPv4 配置
#========================
pushd interface ipv4
reset
set global defaultcurhoplimit=64 icmpredirects=enabled
set interface interface="无线网络连接" forwarding=disabled advertise=enabled nud=enabled
popd
# IPv4 配置结束
6、导入网络配置文件
C:\>netsh -f c:\dump.txt
C:\>netsh exec c:\dump.txt
但是这样操作也没有解决频繁更换网络的问题,而且需要重启电脑。
把netsh命令写成一个script,生成一个bat文件就可以解决这个问题。
现在写一个内外网切换的bat.
@echo off
@color E0
title IP设置
:start
echo "设置ipv4信息"
echo "1.内网ipv4设置"
echo "2.外网ipv4设置"
set /p var=请输入选项
echo %var%
if %var% == 1 goto setLAN
if %var% == 2 goto setInter_WLAN
:setLAN
netsh -f F:\IPChange\inner.txt
goto end
:setInter_WLAN
netsh -f F:\IPChange\internet.txt
goto end
echo "down."
:end
goto end