如何通过命令行快速开启或关闭计算机防火墙?

更新于
2026-08-04 01:08:51
2阅读来源:SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

使用者常见痛点

在日常使用中。很多使用者会遇到以下困扰:

  • 找不到防火墙开关入口——每次都要打开控制面板或设置,耗时又繁琐。
  • 远程管理服务器时只能依赖图形界面——在没有 GUI 的环境下几乎无从下手。
  • 忘记以管理员身份执行命令——导致命令执行失败,却不知道原因。
  • 频繁切换防火墙状态却不想每次都点击几步——效率低下尤其在排查网络问题时更是如此。怎么说呢,

前置准备这方面。获取管理员权限

所有涉及防火墙的 netsh advfirewallPowerShell 命令都需要以管理员身份运行。

如何机防火墙?
  1. 右键点击开始菜单 → 选择 “Windows 终端” 或 “命令提示符”。
  2. 确认弹出的窗口标题中出现 “Administrator”。

一键开启防火墙

基本命令

netsh advfirewall set allprofiles state on
# 或者 PowerShell
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True

验证是否成功开启

# 查看三个配置文件的状态
netsh advfirewall show allprofiles
# PowerShell
Get-NetFirewallProfile | Format-Table Name,Enabled

一键关闭防火墙

netsh advfirewall set allprofiles state off
# 或者 PowerShell
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False

验证是否成功关闭

# 查看三个配置文件的状态
netsh advfirewall show allprofiles
# PowerShell
Get-NetFirewallProfile | Format-Table Name,Enabled

快速查看当前防火墙状态

# Netsh
netsh advfirewall show allprofiles
# PowerShell
.Enabled

常用高级操作的观点是。规则管理

列出所有已添加的规则

# Netsh
netsh advfirewall firewall show rule name=all
# PowerShell
Get-NetFirewallRule | Format-Table -AutoSize Name,DisplayName,Enabled,Direction,Action

添加自定义规则

# Netsh 示例
netsh advfirewall firewall add rule name="Allow SSH" dir=in action=allow protocol=TCP localport=22
# PowerShell 示例
New-NetFirewallRule -DisplayName "Allow SSH" -Direction Inbound -Protocol TCP -LocalPort 22 -Action Allow

删除已有规则

# Netsh 删除方式1:按名称删除
netsh advfirewall firewall delete rule name="Allow SSH"
# PowerShell 删除方式1:按显示名称删除
Remove-NetFirewallRule -DisplayName "Allow SSH"

常见问题 FAQ

* 问:关闭防火墙后程序会不会立刻变得不安全?*

注意:关闭防火墙会立即取消对入站流量的默认拦截。 只在确实需要临时开放端口或排查网络故障时使用,完成后务必立即恢复。

如何机防火墙?

* 问:修改规则后是否需要重启电脑?*

No。大多数规则修改都会即时生效,无需重启。其实,如果使用的是旧版 wfw.exe /rmmod  之类的服务。则可通过"netsh advfirewall reset" 强制刷新。

* 问:如何让防火墙在程序启动时自动开启?*

只要确保所有配置文件均为 “on”,程序启动后会自动加载对应策略;如果曾手动关闭过单个配置文件,请 执行“一键开启”命令。

* 问:在没有图形界面的服务器上怎么办?*

可以使用上述 .bat/.ps1 脚本  批量执行,适用于远程登录或自动化部署。


掌握这些简短而高效的命令行技巧后你再也不必在繁琐的 GUI 界面里兜圈子。轻点回车就可以完成防火墙的开关、状态查询还有规则管理,让程序安全与运维效率同步提高!

标签:防火墙

使用者常见痛点

在日常使用中。很多使用者会遇到以下困扰:

  • 找不到防火墙开关入口——每次都要打开控制面板或设置,耗时又繁琐。
  • 远程管理服务器时只能依赖图形界面——在没有 GUI 的环境下几乎无从下手。
  • 忘记以管理员身份执行命令——导致命令执行失败,却不知道原因。
  • 频繁切换防火墙状态却不想每次都点击几步——效率低下尤其在排查网络问题时更是如此。怎么说呢,

前置准备这方面。获取管理员权限

所有涉及防火墙的 netsh advfirewallPowerShell 命令都需要以管理员身份运行。

如何机防火墙?
  1. 右键点击开始菜单 → 选择 “Windows 终端” 或 “命令提示符”。
  2. 确认弹出的窗口标题中出现 “Administrator”。

一键开启防火墙

基本命令

netsh advfirewall set allprofiles state on
# 或者 PowerShell
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True

验证是否成功开启

# 查看三个配置文件的状态
netsh advfirewall show allprofiles
# PowerShell
Get-NetFirewallProfile | Format-Table Name,Enabled

一键关闭防火墙

netsh advfirewall set allprofiles state off
# 或者 PowerShell
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False

验证是否成功关闭

# 查看三个配置文件的状态
netsh advfirewall show allprofiles
# PowerShell
Get-NetFirewallProfile | Format-Table Name,Enabled

快速查看当前防火墙状态

# Netsh
netsh advfirewall show allprofiles
# PowerShell
.Enabled

常用高级操作的观点是。规则管理

列出所有已添加的规则

# Netsh
netsh advfirewall firewall show rule name=all
# PowerShell
Get-NetFirewallRule | Format-Table -AutoSize Name,DisplayName,Enabled,Direction,Action

添加自定义规则

# Netsh 示例
netsh advfirewall firewall add rule name="Allow SSH" dir=in action=allow protocol=TCP localport=22
# PowerShell 示例
New-NetFirewallRule -DisplayName "Allow SSH" -Direction Inbound -Protocol TCP -LocalPort 22 -Action Allow

删除已有规则

# Netsh 删除方式1:按名称删除
netsh advfirewall firewall delete rule name="Allow SSH"
# PowerShell 删除方式1:按显示名称删除
Remove-NetFirewallRule -DisplayName "Allow SSH"

常见问题 FAQ

* 问:关闭防火墙后程序会不会立刻变得不安全?*

注意:关闭防火墙会立即取消对入站流量的默认拦截。 只在确实需要临时开放端口或排查网络故障时使用,完成后务必立即恢复。

如何机防火墙?

* 问:修改规则后是否需要重启电脑?*

No。大多数规则修改都会即时生效,无需重启。其实,如果使用的是旧版 wfw.exe /rmmod  之类的服务。则可通过"netsh advfirewall reset" 强制刷新。

* 问:如何让防火墙在程序启动时自动开启?*

只要确保所有配置文件均为 “on”,程序启动后会自动加载对应策略;如果曾手动关闭过单个配置文件,请 执行“一键开启”命令。

* 问:在没有图形界面的服务器上怎么办?*

可以使用上述 .bat/.ps1 脚本  批量执行,适用于远程登录或自动化部署。


掌握这些简短而高效的命令行技巧后你再也不必在繁琐的 GUI 界面里兜圈子。轻点回车就可以完成防火墙的开关、状态查询还有规则管理,让程序安全与运维效率同步提高!

标签:防火墙