云服务器通过PowerShell管理Windows防火墙
打开系统防火墙
命令 | 描述 |
netsh advfirewall set allprofiles state on |
启用所有配置文件的Windows防火墙。 |
关闭系统防火墙
命令 | 描述 |
netsh advfirewall set allprofiles state off |
禁用所有配置文件的Windows防火墙。 |
创建防火墙规则
命令 | 描述 |
netsh advfirewall firewall add rule name=NoPing dir=in action=block protocol=icmpv4 |
创建一个名为”NoPing”的规则,禁止进入流量中的ICMPv4协议(即禁ping)。 |
netsh advfirewall firewall add rule name=BlockWeb dir=in action=block localport=80 protocol=tcp remoteip=192.168.7.110 |
创建一个名为”BlockWeb”的规则,禁止源IP为192.168.7.110的流量访问本地端口80(HTTP)。 |
NewNetFirewallRule DisplayName "Allow Inbound Telnet" Direction Inbound Program %SystemRoot%\System32\tlntsvr.exe RemoteAddress LocalSubnet Action Allow |
允许Telnet应用在本地子网上侦听入站连接。 |
修改现有防火墙规则
命令 | 描述 |
SetNetFirewallRule –DisplayName “Allow Web 80” RemoteAddress 192.168.0.2,10.10.10.10 |
修改现有的“Allow Web 80”规则,允许指定的远程IP地址访问本地端口80。 |
删除防火墙规则
命令 | 描述 |
netsh advfirewall firewall delete rule name=BlockWeb |
删除名为”BlockWeb”的规则。 |
RemoveNetFirewallRule –DisplayName “Allow Web 80” |
使用PowerShell删除名为“Allow Web 80”的规则。 |
查询防火墙规则
命令 | 描述 |
GetNetFirewallRule |
获取当前系统中的所有防火墙规则。 |
GetNetFirewallRule –CimSession RemoteComputerName |
获取远程计算机上的防火墙规则。 |
相关问题与解答
1、问题:如何通过PowerShell远程管理Windows防火墙?
解答:要远程管理Windows防火墙,可以使用PowerShell的远程会话功能,确保目标服务器上已启用PowerShell远程会话,可以通过以下命令建立远程会话:
$session = NewPSSession ComputerName "RemoteComputerName" ImportPSSession $session
一旦建立了远程会话,就可以像管理本地机器一样管理远程服务器上的防火墙。
2、问题:如何在AWS环境中通过PowerShell管理Windows防火墙?
解答:在AWS环境中,除了需要管理Windows防火墙外,还需要配置相应的安全组规则以允许PowerShell远程连接,假设通过PowerShell Remoting (WinRM),需要打开TCP端口5985(HTTP)和5986(HTTPS),可以在AWS管理控制台中配置安全组规则,或者通过以下命令在本地执行:
aws ec2 authorizesecuritygroupingress groupid sgxxxxxxxx protocol tcp port 5985 cidr 0.0.0.0/0 aws ec2 authorizesecuritygroupingress groupid sgxxxxxxxx protocol tcp port 5986 cidr 0.0.0.0/0
完成安全组配置后,可以使用上述方法通过PowerShell远程管理Windows防火墙。
小伙伴们,上文介绍了“云服务器通过powershell管理windows防火墙”的内容,你了解清楚吗?希望对你有所帮助,任何问题可以给我留言,让我们下期再见吧。