虽然图形化配置界面比较简单直观,但是对于一些有经验的系统管理员来说,则往往更喜欢使用命令行方式来完成它们的配置工作,因为后者一旦熟练掌握的话,可以更灵活更准确更迅速的实现配置任务。
Netsh是可以用于配置网络组件设置的命令行工具。具有高级安全性的Windows防火墙提供netsh advfirewall工具,可以使用它配置具有高级安全性的Windows防火墙设置。使用netsh advfirewall可以创建脚本,以便自动同时为IPv4和IPv6流量配置一组具有高级安全性的Windows 防火墙设置。还可以使用netsh advfirewall命令显示具有高级安全性的Windows防火墙的配置和状态。
Netsh advfirewall的命令非常多,今天我们选择你必须掌握的几个最常见的命令介绍给大家。
1、help命令(或“?”)
这个命令虽然简单,但这却可能是最有用的命令。任何时候当你键入“?”命令的时候,你会看到和上下文相关的所有选项,如下图。

图9、netsh advfirewall的和help选项
2、consec(连接安全规则)命令
这个连接规则可以让你创建两个系统之间的IPSEC VPN。换句话说,consec规则能够让你加强通过防火墙的通信的安全性,而不仅仅是限制或过滤它。
这个命令会将你带入到连接安全配置模式,如下所示:
Netsh advfirewall>consec
Netsh advfirewall consec>
现在如果你键入“?”命令的话,你将会在netsh advfirewall consec中看到六个不同的命令(如下图9)。

从这儿你可以看到你可以通过以下命令来修改安全规则:
此上下文中的命令:
•add命令可以让你添加新连接安全规则;
•delete命令让你删除所有匹配的连接安全规则;
•dump命令显示一个配置脚本;
•help可以显示命令列表。
•set命令让你为现有规则的属性设置新值。

图10、netsh advfirewall consec命令选项
show命令
要想查看防火墙现在的状况,你将必须使用这个show命令,再其下提供三个不同的命令可用。
•Show alias为你列出所有定义的别名;
•show helper列出所有顶层帮助者;
•Show mode命令可以钢珠你显示防火墙是在线还是离线。
3、Export命令
这个命令可以让你导出防火墙当前的所有配置到一个文件中。这个命令非常有用,因为你可以备份所有的配置到文件中,如果你对已经作出的配置不满意的话,可以随时使用这个文件来恢复到修改前的状态。
以下是一个应用示例:
netsh advfirewall export “c:\advfirewall.wfw”
4、Firewall命令
使用这个命令你可以增加新的入站和出站规则到你的防火墙中。它还可以让你修改防火墙中的规则。

图11、netsh advfirewall firewall
在firewall上下文命令中,你会看到四个重要的命令,分别是:
•Add命令让你增加入站和出站规则;
•Delete命令让你删除一条规则;
•Set命令为现有规则的属性设置新值;
•Show命令将显示一个指定的防火墙规则。
以下是增加和删除一个防火墙规则的示例:
增加一个针对messenger.exe的入站规则
netsh advfirewall firewall add rule name="allow messenger" dir=in program="c:\programfiles\messenger\msmsgs.exe” action=allow
删除针对本地21端口的所有入站规则:
netsh advfirewall firewall delete name rule name=all protocol=tcp localport=21
5、Import命令
Import命令让你可以从一个文件中导入防火墙的配置。这个命令可以让你把之前你使用export命令导出的防火墙配置再恢复回去。示例如下:
Netsh advfirewall import “c:\advfirewall.wfw”
6、Reset
这个命令让你重新设置防火墙策略到默认策略状态。使用这个命令的时候务必谨慎,因为一旦你键入这个命令并按下回车后,它将不再让你确认是否真要重设,直接恢复防火墙的策略。
示例命令如下:
Netsh advfirewall reset
7、Set命令
set命令将允许你修改防火墙的不同设置状态。相关的上下文命令有六个。

图12、netsh advfirewall set
•set allprofiles让你修改所有配置文件中的属性。
•set currentprofile 让你只修改活动配置文件中的属性。
•set domainprofile让你修改域配置文件中的属性。
•set global让你修改防火墙的全局属性。
•set privateprofile让你修改专用配置文件中的属性。
•set publicprofile让你修改公用配置文件中的属性。
•set store让你为当前交互式会话设置策略存储。
以下是使用set命令的一些例子:
•让防火墙关闭所有配置文件:
netsh advfirewall set allprofiles state off
•在所有配置文件中设置默认阻挡入站并允许出站通信:
netsh advfirewall set allprofiles firewallpolicy blockinbound,allowoutbound
•在所有配置文件中打开远程管理:
netsh advfirewall set allprofiles settings remotemanagement enable
•在所有配置文件中记录被断开的连接:
netsh advfirewall set allprofiles logging droppedconnections enable
8、Show命令
这个show命令将让你可以查看所有不同的配置文件中的设置和全局属性。