Managing Windows Firewall Rules with PowerShell: A Comprehensive Guide

Edward Zhou
Edward Zhou

CEO & Co-Founder

 
July 17, 2025 3 min read

Managing Windows Firewall Rules with PowerShell: Part 2 – Overcoming Cmdlet Limitations

wall between a computer monitor and a shield

Image courtesy of ITPro Today

In this section, we will discuss how to extract critical firewall rule details that the standard Get-NetFirewallRule cmdlet can't provide on its own. The Get-NetFirewallRule cmdlet retrieves general-purpose metadata for Windows firewall rules, but it does not return specific details such as local port numbers, remote port numbers, or protocols.

Retrieving Local and Remote Port and Protocol

To retrieve the protocol, local port number, and remote port used by a specific firewall rule, you can use the Get-NetFirewallPortFilter cmdlet. For example, if you want to find this information for a firewall rule named "My Example Rule," use the following command:

Get-NetFirewallRule -DisplayName "My Example Rule" | Get-NetFirewallPortFilter | Select-Object Name, Protocol, LocalPort, RemotePort

This command returns the protocol, local port number, and remote port associated with the specified firewall rule.

Retrieving Addresses

To retrieve the remote address and local address for a given rule, utilize the Get-NetFirewallAddressFilter cmdlet. This can be done as follows:

Get-NetFirewallRule -DisplayName "My Example Rule" | Get-NetFirewallAddressFilter | Select-Object Name, RemoteAddress, LocalAddress

This command will return the remote address and local address for the specified firewall rule.

screen shot of retrieving the local address and the remote address

Image courtesy of ITPro Today

Producing a Consolidated Output

If you need to access all information about a firewall rule in one place, consider using a PowerShell script to consolidate the details. Here’s a sample script:

$RuleName = "My Example Rule"
$Rule = Get-NetFirewallRule -DisplayName $RuleName
$PortFilter = $Rule | Get-NetFirewallPortFilter
$AddressFilter = $Rule | Get-NetFirewallAddressFilter
$ConsolidatedInfo = [PSCustomObject]@{
    Name          = $Rule.DisplayName
    Direction     = $Rule.Direction
    Action        = $Rule.Action
    Protocol      = $PortFilter.Protocol
    LocalPort     = $PortFilter.LocalPort
    RemotePort    = $PortFilter.RemotePort
    LocalAddress  = $AddressFilter.LocalAddress
    RemoteAddress = $AddressFilter.RemoteAddress
}

Write-Host $ConsolidatedInfo

This script collects and displays all relevant information about the specified firewall rule in a single output.

This script produces a consolidated output of the firewall rule information

Image courtesy of ITPro Today

Managing Windows Firewall Rules with PowerShell: Part 1 – Beyond the GUI

brick wall being built to separate two laptops

Image courtesy of ITPro Today

PowerShell offers a more efficient way to manage Windows firewall rules compared to the GUI. For example, four primary cmdlets can be used:

  • Get-NetFirewallRule: Displays firewall rules
  • Set-NetFirewallRule: Edits a firewall rule
  • Remove-NetFirewallRule: Deletes a firewall rule
  • New-NetFirewallRule: Creates a firewall rule

For detailed command syntax and usage, refer to the Get-NetFirewallRule and New-NetFirewallRule cmdlets.

How to Create a Firewall Rule

To create a new firewall rule, you can use the following command:

New-NetFirewallRule -DisplayName "My Example Rule" -Direction Inbound -Program "C:\\Temp\\MyApp.exe" -Action Allow -Profile Domain,Private -Protocol TCP -LocalPort 8080

screen shot showing how to create a new firewall

Image courtesy of ITPro Today

You can verify the creation of the rule using:

Get-NetFirewallRule -DisplayName "My Example Rule"

How to Modify a Firewall Rule

To modify an existing firewall rule, use the following command:

Set-NetFirewallRule -DisplayName "My Example Rule" -Profile Domain

screenshot showing modification of firewall rule

Image courtesy of ITPro Today

How to Delete a Firewall Rule

To delete a firewall rule, use the command:

Remove-NetFirewallRule -DisplayName "My Example Rule"

screenshot showing how to delete a firewall rule

Image courtesy of ITPro Today

By utilizing these commands and techniques, you can effectively manage Windows firewall rules using PowerShell.

For more information and to explore our services, visit Gopher Security.

Edward Zhou
Edward Zhou

CEO & Co-Founder

 

CEO & Co-Founder of Gopher Security, leading the development of Post-Quantum cybersecurity technologies and solutions..

Related Articles

Tribal-ISAC

Tribal-ISAC Cybersecurity Report Highlights for Tribal Nations

Discover the vital findings from the Tribal-ISAC's inaugural cybersecurity report, empowering Tribal Nations to enhance their cyber resilience. Read more!

By Edward Zhou October 2, 2025 3 min read
Read full article
Stefanini Group

Stefanini Group Strengthens Cybersecurity with Key Acquisitions

Discover how Stefanini Group's merger with Cyber Smart Defence strengthens its cybersecurity division and enhances service offerings. Learn more!

By Edward Zhou October 2, 2025 3 min read
Read full article
cybersecurity

Cybersecurity Alert: 94% of Leaked Passwords Are Not Unique

Discover essential password habits and best practices to enhance your cybersecurity. Learn how to protect your accounts today!

By Edward Zhou October 2, 2025 3 min read
Read full article
cybersecurity

Cybersecurity Alert: 94% of Passwords Are Not Unique - Learn Why

Learn effective password habits to enhance your cybersecurity. Discover password management techniques to protect against online threats. Act now!

By Edward Zhou October 2, 2025 3 min read
Read full article