ZetCode

PowerShell Enable-NetFirewallRule

最后修改:2025 年 2 月 15 日

本文介绍了PowerShell中的Enable-NetFirewallRule cmdlet。它用于启用先前被禁用的Windows防火墙规则。这对于网络安全管理至关重要。

防火墙规则基础知识

Windows防火墙规则控制进出您计算机的网络流量。每条规则都定义了允许或阻止连接的条件。规则可以根据需要启用或禁用。Enable-NetFirewallRule cmdlet用于激活已禁用的规则。

Enable-NetFirewallRule 的基本用法

使用Enable-NetFirewallRule的最简单方法是指定规则名称。这将启用指定的防火墙规则。该规则必须存在于防火墙配置中。您可能需要管理员权限才能修改防火墙规则。

firewall1.ps1
Enable-NetFirewallRule -DisplayName "Remote Desktop - User Mode (TCP-In)"

此命令为TCP连接启用远程桌面入站规则。-DisplayName 参数指定要启用的规则。请先使用Get-NetFirewallRule确认规则是否存在。

通过名称模式启用多条规则

您可以使用显示名称中的通配符来启用多条规则。这对于启用相关规则组非常有用。您还可以使用-DisplayGroup参数按组名称启用规则。

firewall2.ps1
Enable-NetFirewallRule -DisplayName "Remote Desktop*"

此命令启用所有名称以“远程桌面”开头的防火墙规则。星号充当匹配任何字符的通配符。这会影响远程桌面的TCP和UDP规则。

PS C:\> .\firewall2.ps1

Name                  : {E5D5B920-379D-4D22-BA5E-000000000000}
DisplayName           : Remote Desktop - User Mode (TCP-In)
Description           : Inbound rule for the Remote Desktop service to allow RDP traffic. [TCP 3389]
DisplayGroup          : Remote Desktop
Enabled               : True
Direction             : Inbound
Action                : Allow

按组名称启用规则

防火墙规则可以组织成组。您可以一次启用特定组中的所有规则。这对于管理相关规则非常高效。使用带组名称的-DisplayGroup参数。

firewall3.ps1
Enable-NetFirewallRule -DisplayGroup "File and Printer Sharing"

此命令启用“文件和打印机共享”组中的所有规则。组名区分大小写。使用Get-NetFirewallRule验证确切的组名。

按方向启用规则

您可以根据流量方向启用规则。-Direction参数按入站或出站流量过滤规则。这在配置特定类型的网络访问时很有用。

firewall4.ps1
Enable-NetFirewallRule -Direction Inbound -DisplayName "Web Server*"

此命令启用所有名称以“Web服务器”开头的入站规则。-Direction参数确保只影响入站规则。在启用服务器访问时,这对安全性很重要。

启用规则时进行确认

为了安全起见,您可以在启用规则时添加确认提示。-Confirm参数会在进行更改之前进行提示。这可以防止意外修改规则。使用-WhatIf可以预览更改而不应用它们。

firewall5.ps1
Enable-NetFirewallRule -DisplayName "Core Networking*" -Confirm

此命令在启用核心网络规则之前会提示确认。提示会显示哪些规则将受到影响。回答“Y”继续或“N”取消操作。

来源

PowerShell 文档

在本文中,我们介绍了PowerShell中的Enable-NetFirewallRule cmdlet。

作者

我叫Jan Bodnar,是一名充满激情的程序员,拥有丰富的编程经验。我自2007年以来一直在撰写编程文章。至今,我已撰写了1400多篇文章和8本电子书。我在教授编程方面拥有十多年的经验。

列出 所有 PowerShell 教程