在DOS下修改本机IP地址-阿里云开发者社区

开发者社区> 开发与运维> 正文

在DOS下修改本机IP地址

简介:
有朋友问我:“能不能在命令行下直接修改Windows2K/XP系统的IP地址?”
呵呵,当然是可以的了。不仅可以修改IP地址,和相关的每个细节都可以用命令行方式进行配置。
只不过一般大家不太习惯罢了。
方法就是使用系统中提供的一个很NB的命令行工具“netsh”:
首先,察看自己现在的IP地址:
看下面就知道了,HOHO:

呵呵,列出了三块网卡,其中接口名为“本地连接”的这块网卡配置情况:
使用了固定IP,其中ip地址为192.168.0.24,其他信息略(自己不会看啊,呵呵),其余两块是VMWARE虚拟机的。
好了,我们来修改这个IP
呵呵,改成什么呢,稍微改一点点吧:

呵呵,现在ip就是192.168.0.25了。
其实刚才改IP的时候并没有把命令写完整,完整的看这个:

呵呵,一堆命令吧,呵呵,现在的IP地址已经修改成10.0.0.55了。
呵呵
当然,命令行下修改IP也可以只用1条命令

又改回来了,HOHO,到这里,netsh的最最最简单的功能,命令行下修改IP地址已经说完了。

看到一个朋友是做网管的,管理着公司几个不同的,每次都要抱着笔记本修改成不同的ip地址、不同的子网掩码.....其实,只要能够充分的发挥Netsh脚本的功能,就可以最快捷的修改自身的配置。
OK,开始
首先,显示一个配置脚本
Look:

我们进入Netsh环境,切换到interface ip环境
通过dump命令将当前配置情况显示了出来。
第二步,导出一个配置脚本
Look:

这样,我们就把刚才显示的配置脚本保存成了一个文件c:interface.txt
第三步,复制一个脚本拷贝interface2.txt并修改它
呵呵,原因?简单嘛,为了更方便的切换环境啊

注意哦,我们已经把所需要修改的ip地址、子网掩码、网关和dns做了修改。
最后,再把新的配置文件直接导入系统。

到这里,已经把配置部分修改了

总结:
通过Netsh里面的dump命令可以直接显示配置脚本。
而通过netsh -c interface ip dump >c:interface.txt的方式可以导出配置脚本。
然后再netsh -f c:interface.txt的方式又可以把导出的配置脚本再导回去。
一来一去间,就可以轻松的实现方便的修改配置。
Netsh里面还有很多很多命令,诸如可以进入netsh环境后,在根级目录用exec命令
也可以加载一个配置脚本。
另外还有对wins、路由、ras等服务的配置也可以通过Netsh的内置命令直接操作。
Windows的帮助里面都有相关的介绍。
 
netsh参考资料:
A. 基本用法
  1,新建记事本,写入如下信息:(横线中间内容)
int ip
set address name="本地连接" source=static addr=192.168.0.107 mask=255.255.255.0
set address name="本地连接" gateway=192.168.0.1 gwmetric=1
保存为218.sh,请注意后缀名为sh。解释一下,以上设置的addr是IP地址,mask是子网掩码,gateway是网关,gwmetric是默认网关的跃点数。
  2,再新建记事本,写入如下信息:(横线中间内容)
netsh exec 218.sh
保存为218.bat批处理文件,这个很容易理解,就是通过netsh命令运行一个脚本文件。当运行此批处理时,就调用了218.sh文件,达到修改IP地址和网关的目的。
  把以上文件放在硬盘任何位置,再建立快捷方式指向218.bat,就很容易实现的了对IP地址的方便切换和控制。
B. 应用扩展
  以上情况只是更改了IP,掩码,网关,用样的道理,更改sh文件又有不同用法:
int ip
set address name="本地连接" source=dhcp //自动获取IP地址
set dns name="本地连接" source=dhcp //自动获取DNS
set dns "本地连接" static 192.168.0.1 primary //设置首选DNS为192.168.0.1
set dns "本地连接" static none //清除DNS列表
其实刚才第一个例子可以简单的写为:
set address "本地连接" static 192.168.0.107 255.255.255.0 192.168.0.1 1
"本地连接"为name连接名,192.168.0.107为addr待设定IP地址,255.255.255.0为mask子网掩码,192.168.0.1 1为gateway网关,1为gwmetric默认网关的跃点数
C. netsh命令的基本和扩展用法
netsh>/?
下列指令有效:
此上下文中的命令:
.. - 移到上一层上下文级。
? - 显示命令列表。
aaaa - 更改到 `netsh aaaa' 上下文。
abort - 丢弃在脱机模式下所做的更改。
add - 在项目列表上添加一个配置项目。
alias - 添加一个别名
bridge - 更改到 `netsh bridge' 上下文。
bye - 退出程序。
commit - 提交在脱机模式中所做的更改。
delete - 在项目列表上删除一个配置项目。
dhcp - 更改到 `netsh dhcp' 上下文。
diag - 更改到 `netsh diag' 上下文。
dump - 显示一个配置脚本。
exec - 运行一个脚本文件。
exit - 退出程序。
help - 显示命令列表。
interface - 更改到 `netsh interface' 上下文。
ipsec - 更改到 `netsh ipsec' 上下文。
offline - 将当前模式设置成脱机。
online - 将当前模式设置成联机。
popd - 从堆栈上打开一个上下文。
pushd - 将当前上下文放入堆栈。
quit - 退出程序。
ras - 更改到 `netsh ras' 上下文。
routing - 更改到 `netsh routing' 上下文。
rpc - 更改到 `netsh rpc' 上下文。
set - 更新配置设置。
show - 显示信息。
unalias - 删除一个别名。
wins - 更改到 `netsh wins' 上下文。
下列的子上下文可用:
aaaa bridge dhcp diag interface ipsec ras routing rpc wins
若需要命令的更多帮助信息,请键入命令,接着是空格,后面跟 ?。
netsh>
————————————————————
由以上可以看出,在netsh模式下,还可进入下级的操作模式:
aaaa
|—下列指令有效:
命令从 netsh 上下文继承:
show alias - 列出所有定义的别名。
show helper - 请列出所有顶层的助手。
show mode - 显示当前的模式。
此上下文中的命令:
show clients - 以脚本格式转储 aaaa 客户端设置。
show config - 以脚本格式转储 aaaa 配置信息。
show connection_request_policies - 以脚本格式转储 aaaa 连接请求策略设置。
show logging - 以脚本格式转储 aaaa 日志记录设置。
show remote_access_policies - 以脚本格式转储 aaaa 远程访问策略设置。
show server_settings - 以脚本格式转储 aaaa 服务器设置。
show version - 显示一个 aaaa 配置数据库的版本。
bridge
|—下列指令有效:
命令从 netsh 上下文继承:
show alias - 列出所有定义的别名。
show helper - 请列出所有顶层的助手。
show mode - 显示当前的模式。
此上下文中的命令:
show adapter - 显示配置为单桥的适配器。
dhcp
|—下列指令有效:
list - 列出所有可用的命令。
help - 显示帮助。
? - 显示帮助。
add server - 在目录服务上的授权服务器中添加服务器。
delete server - 从目录服务中的授权的服务器列表中删除一 DHCP 服务器。
show server - 为当前域显示所有在目录服务中的 DHCP 服务器
server [\\servername/ipaddress] - 将上下文切换到指定的服务器。
空值意味着是本地机器。
diag
|—下列指令有效:
命令从 netsh 上下文继承:
show alias - 列出所有定义的别名。
show helper - 请列出所有顶层的助手。
show mode - 显示当前的模式。
此上下文中的命令:
show adapter - 显示所有适配器。
show all - 显示所有类别。
show client - 显示所有网络客户端。
show computer - 显示计算机信息。
show dhcp - 显示每个适配器的 DHCP 服务器。
show dns - 显示每个适配器的 DNS 服务器。
show gateway - 显示每个适配器的默认网关服务器。
show ieproxy - 显示 Internet Explorer 的服务器名称和端口号。
show ip - 显示每个适配器的 IP 地址。
show mail - 显示邮件服务器名称和端口号。
show modem - 显示所有调制解调器。
show news - 显示新闻服务器名称和端口号。
show os - 显示操作系统信息。
show test - 显示所有类别并执行所有测试。
show version - 显示 Windows 和 WMI 版本。
show wins - 显示每个适配器的首选和辅助 WINS 服务器。
interface
|—下列指令有效:
命令从 netsh 上下文继承:
show alias - 列出所有定义的别名。
show helper - 请列出所有顶层的助手。
show mode - 显示当前的模式。
此上下文中的命令:
show credentials - 显示用于连接到接口的凭据。
show interface - 显示接口。
ipsec
|—下列指令有效:
下列指令有效:
此上下文中的命令:
show alias - 列出所有定义的别名。
show helper - 请列出所有顶层的助手。
show mode - 显示当前的模式。
ras
|—下列指令有效:
命令从 netsh 上下文继承:
show alias - 列出所有定义的别名。
show helper - 请列出所有顶层的助手。
show mode - 显示当前的模式。
此上下文中的命令:
show activeservers - 听远程访问服务器广告。
show authmode - 显示身份验证模式。
show authtype - 显示当前启用的身份验证类型。
show client - 显示连接到此计算机的远程访问客户端。
show link - 显示 PPP 要协商的链接属性
show multilink - 显示 PPP 要协商的多重链接
show registeredserver - 显示计算机是否注册为在给定的域中的
Active Directory 中的远程访问服务器。
show user - 为用户显示远程访问属性。
routing
|—下列指令有效:
此上下文中的命令:
show alias - 列出所有定义的别名。
show helper - 请列出所有顶层的助手。
show mode - 显示当前的模式。
rpc
|—下列指令有效:
此上下文中的命令:
? - 显示命令列表。
add - 创建子网的“添加”列表。
delete - 创建子网的“删除”列表。
dump - 显示一个配置脚本。
help - 显示命令列表。
reset - 将选择绑定设置重置为 'none' (监听所有界面)。
show - 在系统上显示每个子网的选择绑定状态。
wins
|—下列指令有效:
此上下文中的命令:
show alias - 列出所有定义的别名。
show helper - 请列出所有顶层的助手。
show mode - 显示当前的模式。
netsh命令功能的强大,在这里就不深入讨论了,有兴趣的朋友可在cmd模式下,直接netsh回车进入netsh模式,提醒一点,回到上级用.或者..,退出netsh模式用bye或者exit。
当显示指定了无效的接口 本地连接时,你的远程注册边服务可能没有打开,只要在控制面版计算机-管理-服务中启动Remote Registry Service 进程对应为regsvc.exe






本文转自redking51CTO博客,原文链接:http://blog.51cto.com/redking/69770,如需转载请自行联系原作者


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章