Skip to content

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.

Required

Internal firewall rule name (rule ID). Used to detect whether the rule already exists.

Optional

Friendly display name for the firewall rule. If empty, Name is used.

Optional

Optional description for the firewall rule.

Optional — Default: Inbound

Traffic direction for the firewall rule. Allowed values: Inbound, Outbound.

Optional — Default: Allow

Firewall action for matching traffic. Allowed values: Allow, Block.

Optional — Default: True

Set rule state to enabled (True) or disabled (False). Allowed values: True, False.

Optional — Default: Any

Firewall profile scope where the rule applies. Allowed values: Domain, Private, Public, Any.

Optional — Default: Any

Interface type where the firewall rule applies. Allowed values: Any, Wired, Wireless, RemoteAccess.

Optional

Optional executable path used for the firewall rule.

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.

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.

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.

Optional — Default: Any

Optional protocol for the firewall rule. Allowed values: Any, TCP, UDP, ICMPv4, ICMPv6.

  • Category: System
  • Brick ID: FirewallRule-Set
{
"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"
}