Set Firewall Rule
Creates a Windows Firewall rule if it does not exist, or updates the existing rule when found by Name. You can use Get-NetFirewallRule -All to see all rules.
Parameters
Section titled “Parameters”Required
Internal firewall rule name (rule ID). Used to detect whether the rule already exists.
Display Name
Section titled “Display Name”Optional
Friendly display name for the firewall rule. If empty, Name is used.
Description
Section titled “Description”Optional
Optional description for the firewall rule.
Direction
Section titled “Direction”Optional — Default: Inbound
Traffic direction for the firewall rule. Allowed values: Inbound, Outbound.
Action
Section titled “Action”Optional — Default: Allow
Firewall action for matching traffic. Allowed values: Allow, Block.
Enabled
Section titled “Enabled”Optional — Default: True
Set rule state to enabled (True) or disabled (False). Allowed values: True, False.
Profile
Section titled “Profile”Optional — Default: Any
Firewall profile scope where the rule applies. Allowed values: Domain, Private, Public, Any.
Interface Type
Section titled “Interface Type”Optional — Default: Any
Interface type where the firewall rule applies. Allowed values: Any, Wired, Wireless, RemoteAccess.
Program
Section titled “Program”Optional
Optional executable path used for the firewall rule.
Local Address
Section titled “Local Address”Optional
Optional local address filter for the firewall rule. The value can be an IPv4 or IPv6 address, hostname, subnet, range, or the keyword Any. Examples: Any, 127.0.0.1, 192.168.1.10, 192.168.1.0/24, LocalSubnet, or fe80::1.
Remote Address
Section titled “Remote Address”Optional
Optional remote address filter for the firewall rule. The value can be an IPv4 or IPv6 address, hostname, subnet, range, or supported keywords such as Any, LocalSubnet, DNS, DHCP, Internet, or Intranet. Examples: Any, 10.0.0.15, 10.0.0.0/24, LocalSubnet, or fe80::1.
Local Port
Section titled “Local Port”Optional
Optional local port filter for the firewall rule. Examples: 80, 443, 5000-5010, or Any. Use this when Protocol is TCP or UDP. Leave empty when Protocol is Any, ICMPv4, or ICMPv6.
Protocol
Section titled “Protocol”Optional — Default: Any
Optional protocol for the firewall rule. Allowed values: Any, TCP, UDP, ICMPv4, ICMPv6.
Details
Section titled “Details”- Category: System
- Brick ID:
FirewallRule-Set
Raw JSON definition
Section titled “Raw JSON definition”{ "category": "system", "description": "Creates a Windows Firewall rule if it does not exist, or updates the existing rule when found by Name. You can use Get-NetFirewallRule -All to see all rules.", "developerVendor": "CapaSystems A/S", "displayName": null, "id": "FirewallRule-Set", "name": "Set Firewall Rule", "parameters": [ { "defaultValue": "", "defaultValueObject": null, "description": "Internal firewall rule name (rule ID). Used to detect whether the rule already exists.", "id": "Name", "name": "Name", "regExValidation": "", "required": true, "type": "TextBox", "value": null, "values": [], "valuesObject": null }, { "defaultValue": "", "defaultValueObject": null, "description": "Friendly display name for the firewall rule. If empty, Name is used.", "id": "DisplayName", "name": "Display Name", "regExValidation": "", "required": false, "type": "TextBox", "value": null, "values": [], "valuesObject": null }, { "defaultValue": "", "defaultValueObject": null, "description": "Optional description for the firewall rule.", "id": "Description", "name": "Description", "regExValidation": "", "required": false, "type": "TextBox", "value": null, "values": [], "valuesObject": null }, { "defaultValue": null, "defaultValueObject": { "id": "Inbound", "name": "Inbound" }, "description": "Traffic direction for the firewall rule.", "id": "Direction", "name": "Direction", "regExValidation": "", "required": false, "type": "ComboBox", "value": null, "values": [], "valuesObject": [ { "id": "Inbound", "name": "Inbound" }, { "id": "Outbound", "name": "Outbound" } ] }, { "defaultValue": null, "defaultValueObject": { "id": "Allow", "name": "Allow" }, "description": "Firewall action for matching traffic.", "id": "Action", "name": "Action", "regExValidation": "", "required": false, "type": "ComboBox", "value": null, "values": [], "valuesObject": [ { "id": "Allow", "name": "Allow" }, { "id": "Block", "name": "Block" } ] }, { "defaultValue": null, "defaultValueObject": { "id": "True", "name": "True" }, "description": "Set rule state to enabled (True) or disabled (False).", "id": "Enabled", "name": "Enabled", "regExValidation": "", "required": false, "type": "ComboBox", "value": null, "values": [], "valuesObject": [ { "id": "True", "name": "True" }, { "id": "False", "name": "False" } ] }, { "defaultValue": null, "defaultValueObject": { "id": "Any", "name": "Any" }, "description": "Firewall profile scope where the rule applies.", "id": "Profile", "name": "Profile", "regExValidation": "", "required": false, "type": "ComboBox", "value": null, "values": [], "valuesObject": [ { "id": "Domain", "name": "Domain" }, { "id": "Private", "name": "Private" }, { "id": "Public", "name": "Public" }, { "id": "Any", "name": "Any" } ] }, { "defaultValue": null, "defaultValueObject": { "id": "Any", "name": "Any" }, "description": "Interface type where the firewall rule applies.", "id": "InterfaceType", "name": "Interface Type", "regExValidation": "", "required": false, "type": "ComboBox", "value": null, "values": [], "valuesObject": [ { "id": "Any", "name": "Any" }, { "id": "Wired", "name": "Wired" }, { "id": "Wireless", "name": "Wireless" }, { "id": "RemoteAccess", "name": "RemoteAccess" } ] }, { "defaultValue": "", "defaultValueObject": null, "description": "Optional executable path used for the firewall rule.", "id": "Program", "name": "Program", "regExValidation": "", "required": false, "type": "TextBox", "value": null, "values": [], "valuesObject": null }, { "defaultValue": "", "defaultValueObject": null, "description": "Optional local address filter for the firewall rule. The value can be an IPv4 or IPv6 address, hostname, subnet, range, or the keyword Any. Examples: Any, 127.0.0.1, 192.168.1.10, 192.168.1.0/24, LocalSubnet, or fe80::1.", "id": "LocalAddress", "name": "Local Address", "regExValidation": "", "required": false, "type": "TextBox", "value": null, "values": [], "valuesObject": null }, { "defaultValue": "", "defaultValueObject": null, "description": "Optional remote address filter for the firewall rule. The value can be an IPv4 or IPv6 address, hostname, subnet, range, or supported keywords such as Any, LocalSubnet, DNS, DHCP, Internet, or Intranet. Examples: Any, 10.0.0.15, 10.0.0.0/24, LocalSubnet, or fe80::1.", "id": "RemoteAddress", "name": "Remote Address", "regExValidation": "", "required": false, "type": "TextBox", "value": null, "values": [], "valuesObject": null }, { "defaultValue": "", "defaultValueObject": null, "description": "Optional local port filter for the firewall rule. Examples: 80, 443, 5000-5010, or Any. Use this when Protocol is TCP or UDP. Leave empty when Protocol is Any, ICMPv4, or ICMPv6.", "id": "LocalPort", "name": "Local Port", "regExValidation": "", "required": false, "type": "TextBox", "value": null, "values": [], "valuesObject": null }, { "defaultValue": null, "defaultValueObject": { "id": "Any", "name": "Any" }, "description": "Optional protocol for the firewall rule.", "id": "Protocol", "name": "Protocol", "regExValidation": "", "required": false, "type": "ComboBox", "value": null, "values": [], "valuesObject": [ { "id": "Any", "name": "Any" }, { "id": "TCP", "name": "TCP" }, { "id": "UDP", "name": "UDP" }, { "id": "ICMPv4", "name": "ICMPv4" }, { "id": "ICMPv6", "name": "ICMPv6" } ] } ], "powershell": { "base64Encoded": true, "function": "ZnVuY3Rpb2..." }, "type": "powerbrick", "version": "2026.7.2.1"}