如何在PowerShell中删除端口例外?
美国、香港服务器
如何在PowerShell中删除端口例外?
07-09 来源:
核心删除命令:Remove‑NetFirewallRule,分按规则名称删除、根据端口批量删除、通配符批量删除三种方式。
方式 1:按规则显示名称删除(最常用)
1. 先查看已创建的防火墙规则
powershell
# 查看指定名称规则
Get-NetFirewallRule -DisplayName "Web 80/443 TCP入站"
2. 删除单条规则
powershell
Remove-NetFirewallRule -DisplayName "Web 80/443 TCP入站" -Confirm:$false
‑Confirm:$false 跳过确认提示,直接删除。
3. 一次性删除多条命名规则
powershell
Remove-NetFirewallRule -DisplayName "允许TCP 443 HTTPS入站","TCP 3000‑3050业务端口" -Confirm:$false
方式 2:按端口号自动匹配并删除(不用记规则名称,非常实用)
原理:先筛选对应端口的防火墙规则,通过管道批量删除。
示例 1:删除入站 443 端口放行规则
powershell
Get-NetFirewallPortFilter | Where‑Object {$_.LocalPort -eq "443"} | Get‑NetFirewallRule -Direction Inbound | Remove‑NetFirewallRule -Confirm:$false
示例 2:批量删除 80,443 端口所有入站规则
powershell
Get-NetFirewallPortFilter | Where‑Object {$_.LocalPort -in "80","443"} | Get‑NetFirewallRule -Direction Inbound | Remove‑NetFirewallRule -Confirm:$false
示例 3:删除端口区间 3000‑3050 全部防火墙规则(入站 + 出站)
powershell
Get-NetFirewallPortFilter | Where‑Object {$_.LocalPort -eq "3000‑3050"} | Get‑NetFirewallRule | Remove‑NetFirewallRule -Confirm:$false
方式 3:通配符批量删除(匹配关键词)
删除名称以允许TCP开头的所有规则
powershell
Get‑NetFirewallRule -DisplayName "允许TCP*" | Remove‑NetFirewallRule -Confirm:$false
方式 4:禁用规则(推荐:暂时关闭而不删除)
如果后续可能重新启用,优先禁用而不是彻底删除:
powershell
#禁用
Disable‑NetFirewallRule -DisplayName "Web 80/443 TCP入站"
#启用
Enable‑NetFirewallRule -DisplayName "Web 80/443 TCP入站"
配套查询命令
查看全部入站放行规则
powershell
Get‑NetFirewallRule -Direction Inbound -Action Allow | Select DisplayName,LocalPort,Enabled
查看 443 相关所有规则
powershell
Get‑NetFirewallRule | Where‑Object {$_.LocalPort -match "443"}
三二互联专业提供香港VPS,美国VPS主机,香港云服务器租用等业务香港美国到大陆CN2 GIA速度最快