一、什么是 Netsh?
微软Windows的netsh是一个命令行脚本实用工具。使用netsh工具 ,可以查看或更改本地计算机或远程计算机的网络配置。
不仅可以在本地计算机上运行这些命令,而且可以在网络上的远程计算机上运行。
可以手动运行Netsh命令,或创建批处理文件或脚本实现过程的自动化。netsh提供了脚本功能,让您在批处理模式下针对指定的计算机,运行一组命令。利用netsh ,可以将配置脚本保存为文本文件,便于存档或用于配置其他的计算机。
二、Windows Server 2008 netsh 和 Windows XP netsh对比
即使在核心命令级别,Windows XP版本的netsh和Windows Server 2008的netsh也存在着一些差别。为了比较这些,我们可以在每个操作系统中运行“netsh /?。虽然Windows XP比Windows Server 2008多了个“routing选项,但是Windows Server 2008比windows XP下的netsh的选择项多了更多的内容,具体如下:
* dhcp
* dhcpclient
* http
* ipsec
* lan
* nap
* netio
* rpc
* winhttp
从上面这个列表中,可以看到,在Windows Server 2008中,有着更多的选择项。
三、管理员常用到的netsh 十大命令
接下来,让我们开始介绍一些系统管理员常用到的netsh 命令。
#10 如何获得帮助信息
每个Windows管理员应该知道如何获得netsh的帮助信息 。这其实很容易――只要使用“/?选项。例如,要显示所有的netsh内容情况(选项类别) ,只需输入netsh/?,如图1所示:
;;;;
;*** 图2: netsh lan /?的执行结果
从上面显示的信息,可以继续指导我们继续操作:
netsh lan show /?
从返回信息中,我们可以知道,要显示网卡信息,可以用以下命令:
netsh lan show interfaces
通过多次使用带/? 的netsh命令,能够引导使用许多netsh命令,最终达到我们的操作目标。
#9 支持远程计算机的名称和登陆凭证
netsh命令的执行参数中,支持提供远程计算机名称、IP地址和密码凭据。其中选项“-r表示机器名,“-U表示用户名,“-p表示密码。
下面我们来看一个例子:
netsh -r WinXP-1 -u winxp-1/administrator -p My!Pass1 interface ip show config
这个例子提供了远程计算机的名称,远程用户名和密码,以便通过网络远程执行命令。只要远程计算机支持这一命令(不同的操作系统将使用各种不同的命令),都可以执行。
#8 - 在交互模式下或者脚本模式下运行
netsh命令既可以交互运行,手动输入命令,也可以在脚本中使用。如果想在本地机器或远程机器通过手动方式一步一步输入命令的话,只要在命令行中输入netsh,你会看到以下界面:
netsh>
在netsh>提示符下,可以输入想调用的所有的netsh命令,甚至告诉netsh连接到远程计算机。
netsh命令可以快速、方便地打开一个防火墙的端口。比如下面这个例子,将打开445端口:
netsh firewall set portopening tcp 445 smb enable
如果该命令执行成功,将得到“Ok.的回应消息。
#6 当前的网络配置的导入与导出
netsh命令可以很轻松地导入和导出您的IP地址配置。与GUI界面下操作不同的是,如果要导出配置信息,需要输入以下命令:
netsh c interface dump > test.txt
;;;;
;*** 图3: 导出并查看IP 地址的配置信息
稍后在同一台计算机上或者不同的机器上,可以使用以下命令,导入此配置文件:
netsh f test.txt
#5 尝试Netsh 命令最新的用法
Windows Server 2008中的许多新功能,都涉及到了netsh命令。 以下是Windows Server 2008系统中netsh命令的新类别:
* dhcp
* dhcpclient
* http
* ipsec
* lan
* nap
* netio
* rpc
* winhttp
我们不仅可以设置DHCP客户端,而且可以设置DHCP服务器。还可以配置IPSec加密、网络接入保护(NAP)客户端等等......
使用netsh,可以排查和重置TCP/IP网卡。我们看下面几个例子:
* 重置所有IP协议栈的配置信息并输出日志文件――netsh int ipv4 reset resetlog.txt
* 安装TCP / IP协议――netsh int ipv4 install
* 卸载TCP / IP协议――netsh int ipv4 uninstall
#3 配置windows 高级防火墙
在Windows Server 2008和Windows Vista中,可以使用新的advfirewall网络方面的设置,来配置双向的Windows高级防火墙。当然,也可以设定为传统的Windows防火墙。下面是一些例子:
* 显示所有的防火墙规则 ―― netsh advfirewall firewall show rule name=all
* 删除与21端口相关的所有高级防火墙规则 ―― netsh advfirewall firewall delete name rule name=all protocol=tcp localport=21
* 导出Windows高级防火墙设置 ―― netsh advfirewall export “c:/advfirewall.wfw
也许最经常用到的命令是启用或禁用Windows防火墙,可以使用以下命令:
netsh firewall set opmode disable 或者是:
netsh firewall set opmode enable
#2 配置无线设置
在Windows Server 2008和Windows Vista中,可以利用netsh wlan命令,来配置无线网络的配置文件,连入无线网络。下面我们来看几个例子:
* 连接到一个已定义的无线网络―― netsh wlan connect ssid=mySSID name=WLAN-Profil1
* 查看当前的无线设置――netsh wlan show settings
* 新增一个无线网络的配置文件――netsh wlan add profile filename="Wireless Network Connection-BOW.xml"
#1 配置IP地址和网络设置
正如netsh英文缩写(network shell)一样,netsh的最初目的,就是用来配置网络的基本参数。下面我们看一些例子:
* 查看网卡的IP地址―― netsh interface ip show config
* 设置网卡的IP地址使用DHCP―― netsh interface ip set address name="Local Area Connection" source=dhcp
* 设置网卡的IP地址使用一个静态IP地址- netsh interface ip set address "Local Area connection" static 10.0.0.9 255.0.0.0 10.0.0.1 1
* 增加DNS服务器设置- netsh interface ip add dnsserver "Local Area Connection" 10.0.0.1
四、小结
netsh命令行实用工具一直是Windows系统管理员的一个功能非常强大的工具。在Windows Server 2008和Windows Vista中,随着新特性的增加,netsh的功能将更为强大和灵活,本文介绍的10个命令,对于管理员日常工作中遇到麻烦的时候,应该有所帮助。
标签: