如何管理 Windows 使用 PowerShell 的防火牆規則

Windows Defender 防火牆已預裝在所有設備上 Windows 電腦。 您可以在中創建規則 Windows 防火牆有不同的用途,例如阻止特定應用程序訪問互聯網。 本文展示瞭如何管理 Windows 使用 PowerShell 進行防火牆規則

如何管理 Windows 使用 PowerShell 的防火牆規則

您可以輕鬆配置 Windows 防火牆規則通過 Windows Defender 防火牆和高級安全 UI。 您可以通過控制面板啟動它。 現在,您還可以管理 Windows 使用 PowerShell 的防火牆規則。 在本文中,我們將向您展示如何做到這一點。

管理規則 Windows 通過 PowerShell 的防火牆,您必須使用 網絡防火牆規則 cmdlet,它是 NetSecurity 模塊的一部分。 您可以通過在中執行以下命令來查看所有 NetSecurity cmdlet Windows 電源外殼:

Get-Command -Module NetSecurity

Windows PowerShell 具有以下三種類型的配置文件:

  • 域名簡介
  • 私人檔案
  • 公開資料

默認情況下, Windows 對於所有這三個配置文件,防火牆均保持打開狀態。 您可以通過打開 Windows 通過控制面板或在運行命令框中使用以下命令,具有高級安全 UI 的 Defender 防火牆:

wf.msc

請注意,您必須啟動 Windows 以管理員身份使用 PowerShell,否則命令將不會執行,並且您將在 PowerShell 中收到錯誤消息。

如果您想查看特定的設置 Windows 防火牆配置文件,使用以下命令:

Get-NetFirewallProfile -Name <name of the profile>

在上面的命令中,正確輸入配置文件的名稱。 為了 example,如果您想查看域配置文件的設置 Windows Defender 防火牆,命令為:

Get-NetFirewallProfile -Name Domain

啟用或禁用 Windows 使用 PowerShell 的防火牆

讓我們看看如何啟用或禁用 Windows 使用 PowerShell 的防火牆。 如果你想禁用 Windows 所有配置文件的防火牆,使用以下命令:

Set-NetFirewallProfile -All -Enabled False

如果您想啟用或禁用 Windows 對於特定配置文件的防火牆,您必須將上述命令中的 All 替換為該配置文件名稱。

禁用 Windows 防火牆公共配置文件 PowerShell

為了 example,如果您想禁用公共配置文件的 Window 防火牆,命令將為:

Set-NetFirewallProfile -Profile Public -Enabled False

查看 Windows 防火牆配置文件狀態

您可以檢查狀態 Windows 使用以下命令配置防火牆配置文件:

Get-NetFirewallProfile | Format-Table Name, Enabled

正如您在上面的屏幕截圖中看到的,PowerShell 顯示的狀態 Windows 防火牆公共配置文件為 False,這意味著 Windows 該配置文件的防火牆已禁用。

禁用 Windows 防火牆公共配置文件

您也可以檢查相同的內容 Windows 具有高級安全 UI 的 Defender 防火牆。 如果要啟用禁用的配置文件,則必須使用 True 代替 False。 為了 example,這裡我們禁用了公共配置文件 Windows 防火牆。 現在,要重新啟用它,命令是:

Set-NetFirewallProfile -Profile Public -Enabled True

如果您已禁用所有 Windows 如果您想再次啟用所有 Defender 配置文件,請使用以下命令:

Set-NetFirewallProfile -All -Enabled True

:最佳免費防火牆軟件 Windows。

創建和管理 Windows 使用 PowerShell 的防火牆規則

現在,讓我們看看如何創建和管理 Windows 使用 PowerShell 的防火牆規則。 如果您使用第三方防病毒軟件並且您的防火牆由該防病毒軟件管理,則 PowerShell 命令將不起作用。 您將能夠成功創建規則,但如果您的防火牆由第三方防病毒軟件管理,這些規則將不起作用。

如果你想創建一個新的 Windows 防火牆規則,您必須使用以下 cmdlet:

New-NetFirewallRule

假設您想阻止某個程序通過您的 WiFi 配置文件訪問互聯網; 使用以下命令:

New-NetFirewallRule -Program “program path” -Action Block -Profile <profile name> -DisplayName “write display name here” -Description “write description here” -Direction Outbound

上述命令將為所需程序創建出站規則 Windows 防御者防火牆。 在上面的命令中,將程序路徑替換為正確的程序路徑,並將配置文件名稱替換為正確的 Windows 防火牆配置文件。 顯示名稱是防火牆規則的名稱,描述是可選的。

塊程序 Windows 使用 PowerShell 的防火牆

為了 example,如果你想阻止 Chrome 瀏覽器訪問私人配置文件,命令將是:

New-NetFirewallRule -Program “C:Program FilesGoogleChromeApplicationchrome.exe” -Action Block -Profile Public -DisplayName “Block Chrome browser” -Description “Chrome browser blocked” -Direction Outbound

如果您不想向防火牆規則添加描述,可以刪除 -Description “Chrome 上述命令中的“瀏覽器被阻止”部分。 上述命令僅適用於公共配置文件。 因此,如果您的網絡連接配置文件不是公共的,則此命令將不起作用。 您可以在以下位置查看您的 WiFi 連接的配置文件 Windows 設定. 以下步驟將幫助您:

查看網絡配置文件類型

  1. 打開 Windows 11/10 設置。
  2. 網絡和互聯網 > Wi-Fi
  3. 選擇您的互聯網連接。
  4. 擴展您的網絡連接 特性 標籤。

您將在那裡看到網絡配置文件類型。

如果你想阻止某個程序,請說 Google Chrome 對於所有網絡配置文件,鍵入以逗號分隔的所有配置文件名稱。 因此,命令將是:

New-NetFirewallRule -Program “C:Program FilesGoogleChromeApplicationchrome.exe” -Action Block -Profile Domain, Private, Public -DisplayName “Block Chrome browser” -Description “Chrome browser blocked” -Direction Outbound

請注意,您必須按照上述命令中寫入的確切順序鍵入配置文件名稱,即“域”、“私有”、“公共”。 否則,您將收到錯誤。

同樣,您可以在中創建規則 Windows Defender Firewall 通過使用 PowerShell 來阻止特定網站。 但為此,您應該知道該特定網站的 IP 地址。 您可以使用以下命令獲取網站的IP地址:

nslookup <website name>

如果您要阻止的網站顯示多個 IP 地址,則必須寫下所有這些 IP 地址。 用逗號分隔所有 IP 地址。

用於創建阻止網站的規則的命令 Windows 防御者防火牆是:

New-NetFirewallRule -DisplayName "Block Website" -Description "Website Blocked" -Direction Outbound –LocalPort Any -Protocol Any -Action Block -RemoteAddress IP1, IP2

以上 example 展示如何用逗號分隔特定網站的 IP 地址。

: 如何允許 VPN 通過防火牆 Windows。

使用以下命令啟用、禁用和刪除防火牆規則 Windows 電源外殼

如果要啟用、禁用或刪除防火牆規則,必須在 PowerShell 中使用以下 cmdlet:

Enable-NetFirewallRule
Disable-NetFirewallRule
Remove-NetFirewallRule

刪除防火牆規則 PowerShell

在上述每個 cmdlet 中,您必須輸入防火牆規則的正確名稱。 假設您創建了一個名為“阻止”的防火牆規則 Chrome 現在你想刪除它,那麼命令將是:

Remove-NetFirewallRule -DisplayName 'Block Chrome'

: Windows 防火牆服務未啟動於 Windows。

我該如何查看 Windows PowerShell 中的防火牆規則?

如果您想查看您在以下位置創建的出站阻止規則: Windows 防火牆,你必須使用以下命令:

Get-NetFirewallRule -Action Block -Enabled True -Direction Outbound

看法 Windows 防火牆規則 PowerShell

上述命令將僅列出活動的防火牆規則。 如果要查看禁用的防火牆規則,請將上述命令中的 True 替換為 False。

就是這樣。 我希望這有幫助。

如何在 PowerSell 中設置防火牆規則?

您可以使用不同的 NetFirewallRule cmdlet 在 PowerShell 中設置防火牆規則。 為了 example,如果要創建新的防火牆規則,則必須使用 New-NetFirewallRule cmdlet。

閱讀下一篇: 如何恢復或重置 Windows 防火牆設置為默認值。