-
NetSH (Network Shell) 是windows系统本身提供的功能强大的网络配置命令行工具。 导出配置脚本:netsh -c interface ip dump > c:\interface.txt 导入配置脚本:netsh -f c:\interface.txt
- 外文名
- Network Shell
- 简 称
- netsh
- 类 别
- 网络配置命令行工具
- 导入配置脚本
- netsh -f c:\interface.txt
C:\>netsh ?
用法: netsh [-a AliasFile] [-c Context] [-r RemoteMachine] [-u [DomainName]UserName] [-p Password | *] [Command | -f ScriptFile]
进入NetSH环境后,在根级目录用exec命令也可以加载一个配置脚本。还有对winsock、route、ras等网络服务的配置也可以通过Netsh的内置命令操作。
C:\>netsh
netsh>help
下列指令有效:
此上下文中的命令:
.. - 移到上一层上下文级。
? - 显示命令列表。
abort - 丢弃在脱机模式下所做的更改。
add - 在项目列表上添加一个配置项目。
alias - 添加一个别名
bridge - 更改到 `netsh bridge' 上下文。
bye - 退出程序。
commit - 提交在脱机模式中所做的更改。
delete - 在项目列表上删除一个配置项目。
diag - 更改到 `netsh diag' 上下文。
dump - 显示一个配置脚本。
exit - 退出程序。
help - 显示命令列表。
interface - 更改到 `netsh interface' 上下文。
offline - 将当前模式设置成脱机。
online - 将当前模式设置成联机。
pushd - 将当前上下文放推入堆栈。
quit - 退出程序。
ras - 更改到 `netsh ras' 上下文。
routing - 更改到 `netsh routing' 上下文。
set - 更新配置设置。
show - 显示信息
unalias - 删除一个别名。
winsock - 更改到 `netsh winsock' 上下文。
下列的子上下文可用:
bridge diag interface ras routing winsock
若需要命令的更多帮助信息,请键入命令,
后面跟 ?。
netsh>
Netsh 是命令行脚本实用工具,它允许从本地或远程显示或修改当前正在运行的计算机的网络配置。
Netsh 还提供了一个脚本功能,对于指定计算机,可以通过此功能以
批处理模式运行一组命令。为了存档或配置其他服务器,Netsh 也可以将配置脚本保存在文本文件中。
Netsh 命令的强大,有经验的管理员都不会怀疑;以前有很多介绍netsh命令的文章,今天我们从另一方面感受一下netsh命令的神奇。
配置示例:管理学校机房编辑
网络环境:
ADSL接入,通过ISP上网,
上网服务器:win2ks+isa2k
IP:192.168.0.1
subnetmask:255.255.255.0
DNS为ISP的DNS IP:202.101.10.10
IP:192.168.0.2---192.168.0.102
subnetmask:255.255.255.0
网关和DNS都为
代理服务器的IP:192.168.0.1并且都装了ISA的
防火墙客户端软件。
学校规定:学生
帐号登陆不能上Internet,而老师通过自己帐号登陆则可以连接Internet;
多数情况下上网权限的控制,都是通过IP地址来实现(当然,ISA在AD的支持下是可以通过帐户来实现上网权限的控制,这不是本文讨论范围内),也就是说同一台电脑,学生用过后,如果老师使用时要Internet的话,就必须更改计算机的IP地址,但有些菜鸟老师更改,都教了N次了,还是不会......
在默认情况下,客户机是全部不能上internet的,ISA的规则上是禁止192.168.0.2---192.168.0.102的IP上internet,另外在ISA再创建一规则,允许192.168.0.103-192.168.0.203上internet (这不是本文的重点,如果有需要,大家可以查看相关资料)。
netsh派上用场了,我们客户机PC18上运行CMD进入
MS-DOS,输入
netsh -c interface ip dump > c:\NetPC.TXT
(该命令是显示当前”本地连接" 的接口IP 配置,并保存在NetPC.TXT文本文件中)
查看一下c:\NetPC.TXT这个文件,显示的是当前”
本地连接”的接口的IP配置,是否跟用ipconfig /all命令,看到的一样的。
{
TPYE c:\NetPC.TXT
# ----------------------------------
# 接口 IP 配置
# ----------------------------------
pushd interface ip
# "本地连接" 的接口 IP 配置
set address name="本地连接" source=static addr=192.168.0.18 mask=255.255.255.0
set address name="本地连接" gateway=192.168.0.1 gwmetric=0
set dns name="本地连接" source=static addr=192.168.0.1 register=PRIMARY
add dns name="本地连接" addr=202.101.10.10 index=2
set wins name="本地连接" source=static addr=none
popd
# 接口 IP 配置结束
}
我们打开NetPC.TXT这个文件,把“addr=192.168.0.18”的IP改为“addr=192.168.0.118”,再保存。
然后,在老师帐户的桌面上创建一个IP.BAT文件,内容输入“netsh -f c:\NetPC.TXT”(注意文件的路径,我们刚才是把NetPC.TXT放在C盘根目录下)。
用老师的帐户登陆后,双击桌面上的IP.BAT文件,我们用ipconfig /all看看结果,显示IP地址换成192.168.0.118了,别的配置都没有变。
我们知道192.168.0.103―192.168.0.203的IP地址是可以上网的。也就是说,如果老师想上网的话,只要双击IP.BAT这个文件就可以了;
以上的设置是在PC18这台机器上做的,如果我们要在别的机器上设置,我们只在把NetPC.TXT这个文件的里的IP地址换成192.168.0.103-192.168.0.203范围内的IP(当然要保证使用的IP是唯一的,以免产生IP冲突),再新建一个IP.BAT文件,内容可以一样,不过要注意NetPC.TXT这个文件的路径;补允一点,老师帐户都为管理员组,学生帐户为普通用户组。
通过以上设置,基本上达到我们的目的,老师上机的时候,只要双击桌面上IP.BAT这个文件,IP地址就会换成192.168.0.103―192.168.0.203这个网段的IP,也就是说可以上网了,电脑重启,因为有
还原卡,机器又会被变成192.168.0.2―192.168.0.102这个网段的IP,也就不能上网了。通过netsh这个命令,我们能感觉到他的强大,可以为我们免去一些烦琐的事情。
配置示例:笔记本设置wifi热点编辑
在笔记本命令行下,利用netsh命令设置无线热点:
1、netsh wlan show drivers //判断支持的承载网络:是
2、netsh wlan set hostednetwork mode=allow ssid=热点名字 key=热点密码 //mode=allow启用虚拟WiFi网卡;mode=disallow可以直接禁用虚拟WiFi网卡。
3、netsh wlan start hostednetwork //启动承载网络
4、设置Internet共享。
5、netsh wlan show hostednetwork //显示无线网络信息
[Note] netsh命令详解
1>查看网络配置
netsh interface ip show {选项}
{选项}可以是:
address - 显示 IP 地址配置。
config - 显示 IP 地址和更多信息。
dns - 显示 DNS 服务器地址。
icmp - 显示 ICMP 统计。
interface - 显示 IP 接口统计。
ipaddress - 显示当前 IP 地址
ipnet - 显示 IP 的网络到媒体的映射。
ipstats - 显示 IP 统计。
joins - 显示加入的多播组。
tcpconn - 显示 TCP 连接。
tcpstats - 显示 TCP 统计。
udpconn - 显示 UDP 连接。
udpstats - 显示 UDP 统计。
wins - 显示 WINS 服务器地址。
netsh interface ip set address "本地连接" static 10.1.2.90 255.255.255.0 10.1.2.254 1
C:>netsh interface ip show config
接口 "本地连接" 的配置
DHCP enabled: 否
IP 地址: 10.1.2.90
GatewayMetric: 1
InterfaceMetric: 0
静态配置的 DNS 服务器: 202.99.160.68
202.99.166.4
静态配置的 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 10.1.2.90
netsh interface ip set dns "本地连接" static 202.99.160.68
netsh interface ip set wins "本地连接" static 10.1.2.200
5>查看网络配置文件
C:>netsh -c interface dump
#========================
# 接口配置
#========================
pushd interface
reset all
popd
# 接口配置结束
#========================
# 接口配置
#========================
pushd interface ipv6
uninstall
popd
# 接口配置结束
# ----------------------------------
# ISATAP 配置
# ----------------------------------
popd
# ISATAP 配置结束
# ----------------------------------
# 6to4 配置
# ----------------------------------
pushd interface ipv6 6to4
reset
popd
# 6to4 配置结束
#=============
# 端口代理配置
#=============
pushd interface portproxy
reset
popd
# 端口代理配置结束
# ----------------------------------
# 接口 IP 配置
# ----------------------------------
pushd interface ip
# "本地连接" 的接口 IP 配置
set address name="本地连接" source=static addr=10.1.2.90 mask=255.255.255.0
set address name="本地连接" gateway=10.1.2.254 gwmetric=1
set dns name="本地连接" source=static addr=202.99.160.68 register=PRIMARY
add dns name="本地连接" addr=202.99.166.4 index=2
set wins name="本地连接" source=static addr=none
popd
# 接口 IP 配置结束
6>导出网络配置文件
netsh -c interface dump > d:\1.txt
7>导入网络配置文件
netsh -f d:\1.txt
netsh exec d:\2.txt
Netsh命令行设置IP与DNS
1.设置动态IP(DHCP自动获取IP)
[span]netsh interface ip set address "本地连接" dhcp
2.设置指定的IP,此处以设置本机IP为10.16.15.226,子网掩码为255.255.255.0,网关IP为10.16.15.1为例
[span]netsh interface ip set address "本地连接" static 10.16.15.226 255.255.255.0 10.16.15.1
3.设置动态DNS(DHCP自动获取DNS)
[span]netsh interface ip set dns "本地连接" dhcp
4.设置指定的DNS,此处以设置DNS为210.45.240.10为例
[span]netsh interface ip set dns "本地连接"static 210.45.240.10
系统防火墙
打开
命令提示符输入输入命令“netsh firewall show state”然后回车可查看
防火墙的状态,从显示结果中可看到防火墙各功能模块的禁用及启用情况。命令“netsh firewall set opmode disable”用来禁用系统防火墙,相反命令“netsh firewall set opmode enable”可启用防火墙。
启用一个程序
旧命令 : 新命令:
netsh firewall add allowedprogram C: \ MyApp \ MyApp.exe "My Application" ENABLE
|
netsh advfirewall firewall add rule name=”My Application” dir=in action=allow program=”C:\MyApp\MyApp.exe” enable=yesnetsh advfirewall firewall add rule name = "My Application" dir = in action = allow program = "C: \ MyApp \ MyApp.exe" enable = yes
|
netsh firewall add allowedprogram program=C:\MyApp\MyApp.exe name="My Application" mode=ENABLE scope=CUSTOM addresses=157.60.0.1,172.16.0.0/16,LocalSubnet profile=Domainnetsh firewall add allowedprogram program = C: \ MyApp \ MyApp.exe name = "My Application" mode = ENABLE scope = CUSTOM addresses = 157.60.0.1,172.16.0.0 / 16, LocalSubnet profile = Domain
|
netsh advfirewall firewall add rule name=”My Application” dir=in action=allow program=”C:\MyApp\MyApp.exe” enable=yes remoteip=157.60.0.1,172.16.0.0/16,LocalSubnet profile=domainnetsh advfirewall firewall add rule name = "My Application" dir = in action = allow program = "C: \ MyApp \ MyApp.exe" enable = yes remoteip = 157.60.0.1,172.16.0.0 / 16, LocalSubnet profile = domain
|
netsh firewall add allowedprogram program=C:\MyApp\MyApp.exe name="My Application" mode=ENABLE scope=CUSTOM addresses=157.60.0.1,172.16.0.0/16,LocalSubnet profile=ALLnetsh firewall add allowedprogram program = C: \ MyApp \ MyApp.exe name = "My Application" mode = ENABLE scope = CUSTOM addresses = 157.60.0.1,172.16.0.0 / 16, LocalSubnet profile = ALL
|
运行以下命令:
netsh advfirewall firewall add rule name=”My Application” dir=in action=allow program=”C:\MyApp\MyApp.exe” enable=yes remoteip=157.60.0.1,172.16.0.0/16,LocalSubnet profile=domainnetsh advfirewall firewall add rule name = "My Application" dir = in action = allow program = "C: \ MyApp \ MyApp.exe" enable = yes remoteip = 157.60.0.1,172.16.0.0 / 16, LocalSubnet profile = domain
netsh advfirewall firewall add rule name=”My Application” dir=in action=allow program=”C:\MyApp\MyApp.exe” enable=yes remoteip=157.60.0.1,172.16.0.0/16,LocalSubnet profile=privatenetsh advfirewall firewall add rule name = "My Application" dir = in action = allow program = "C: \ MyApp \ MyApp.exe" enable = yes remoteip = 157.60.0.1,172.16.0.0 / 16, LocalSubnet profile = private
|
有关如何添加
防火墙规则的详细信息对于运行以下命令: netsh advfirewall firewall add rule?
- netsh端口转发
使用多个虚拟机,将开发环境和工作沟通环境分开(即时通,办公系统都只能在windows下使用…),将开发环境的服务提供给外部访问时,需要在主机上通过代理配置数据转发. VirtualBox提供了端口 ...
- 整形输出netsh的内容
$raw = netsh wlan show network mode=bssid $ssids = $raw | Select-String -Pattern 'SSID\b'| Select-St ...
- WIN7只能上QQ打不开网页,使用CMD输入netsh winsock reset
此类问题可以用腾讯电脑管家电脑诊所一键修复,请点击上方的[立即修复]即可. 附:手动修复步骤(来源:腾讯电脑管家电脑诊所,自动修复请点击上方的[立即修复])方案一:手动设置DNS(说明:如果您使用DN ...
- netsh修改IP及DNS
netsh interface ip show addresses 显示当前IP netsh interface ip show dns 显示当前DNS netsh interf ...
- netsh winsock reset 11003
netsh winsock reset 11003 http://files.cnblogs.com/xsmhero/winsock.zip
- netsh winsock reset
最近要在虚拟机上安装 git ,然后托管一个项目,搞得我是焦头烂额.今天下午我卸载了vmware workstation ,但是奇怪的事就发生了,我的google chrome 浏览器没法浏览网页了. ...
- Netsh配置端口
开启防火墙端口 netsh firewall set portopening all 3389 RDP_Rule enable (TCP/UDP) #配置RPC高位端口段Netsh int ipv4 ...
- Delphi 调用netsh命令修改IP地址
Delphi 调用netsh命令修改IP地址 先介绍一下Netsh命令的使用方法: 在这里跟大家介绍几个简单的指令 1.Show IP 1.1Cmd Mode 直接在cmd下面输入 netsh int ...
- 全面认识网络诊断命令功能与参数——netsh diagnostic命令
netsh diagnostic是网络诊断命令,主要检测网络连接和服务器连接的状态. 注意:netsh不能在Window2000以下系统中使用.案例1:使用netsh diagnostic命令检 ...
- netsh命令
C:\Windows\System32>netsh interface ipv6 show address level=verbose 地址 ::1 参数-------------------- ...
随机推荐
- Http 与 Socket 区别
HTTP:超文本传输协议,首先它是一个协议,并且是基于TCP/IP协议基础之上的应用层协议.TCP/IP协议是传输层协议,主要解决数据如何在网络中传输,HTTP是应用层协议,主要解决如何包装数据.HT ...
- 【网络流24题】No. 17 运输问题 (费用流)
[题意] W 公司有 m 个仓库和 n 个零售商店.第 i 个仓库有ai 个单位的货物:第 j 个零售商店需要b j 个单位的货物. 货物供需平衡,即SIGMA(A)=SIGMA(B). 从第 i 个 ...
- 周鸿祎——不要抱着打工心态去工作,而是把工作当创业(附读书笔记) good
360周鸿祎反而最为开明,他说“不要抱着打工心态去工作,而是把工作当创业”,就像是,鼓励你拿着公司的工资,锻炼自己的能力,为自己以后创业积累资源和人脉(读书笔记:真是天底下最好的机会,天底下没有比工作 ...
- java自定义接口
compareTo:根据该数值是小于.等于.或大于 val 返回 -1.0 或 1:
- [置顶] 【Git入门之一】Git是神马?
1.Git是神马? 一个开源的分布式版本控制系统,可以有效的高速的控制管理各种从小到大的项目版本.他的作者就是大名鼎鼎的Linux系统创始人Linus. 2.分布式又是神马? 先看看集中式.简单说来, ...
- Jsoup 解析 HTML
Jsoup 文档 方法 要取得一个属性的值,可以使用Node.attr(String key) 方法 对于一个元素中的文本,可以使用Element.text()方法 对于要取得元素或属性中的HTML内 ...
- Tomcat7.0配置
Tomcat7.0下载地址:http://tomcat.apache.org/download-70.cgi 选择符合自己操作系统的版本即可(本机win8-64位系统),选择如下: http://11 ...
- NodeAsp——像开发NodeJS应用一样玩转ASP
NodeAsp是一套Classic ASP框架,借鉴了NodeJS的模块化思想,让您可以使用全新的理念愉快地书写ASP程序. NodeAsp使用遵循CommonJS规范的require,完全兼容Nod ...
- 编译Hadoop源码
背景: 在阅读hadoop源代码过程中会发现部分类或者函数无法找到,这是由于Hadoop2.0使用了Protocol Buffers定义了RPC协议, 而这些Protocol Buffers文件在Ma ...
- 问题-安装XP时,提示不识别SATA硬盘
问题现象:笔记本装XP时,系统提示硬盘不能被识别? 问题描述:我原来是vista版本的,硬盘是SATA接口,但我觉得用vista不习惯,所以想装XP,可后来发现机器无法识别硬盘,该怎么解决? 问题原因 ...