---
title: "Ensure Firewall Rule"
---
Ensures the existence of a firewall rule on a Windows server.
Firewall::Ensure-NetFirewallRule(
	Name: <text>,
	Profiles: <text>,
	Port: <text>,
	Protocol: <text>,
	Inbound: <true/false>,
	Allow: <true/false>,
	[Exists: <true/false>]
);
| Name | Format | Script Usage | Usage Notes | 
|---|---|---|---|
| ☆ Name | text | Name | This argument is required. | 
| ☆ Profiles | text | Profiles | Specify a comma separated list of profiles: "Public", "Private", and/or "Domain". (ex: "Public, Private") This argument is required. | 
| ☆ Port or Port Range | text | Port | Specify the port(s) affected by the firewall rule. Ports can be a comma separated list or a port range specified as "start-end" ex: 80-81,443 This argument is required. | 
| ☆ Protocol | text | Protocol | Specify if the protocol is "UDP" or "TCP" This argument is required. | 
| ☆ Inbound | true/false | Inbound | Specify if the connection is Inbound or Outbound. (Default = true) This argument is required. | 
| ☆ Allow | true/false | Allow | Select if you want to Allow or Block a connection. (Default = true) This argument is required. | 
| Exists | true/false | Exists | 
# ensures that TCP ports 80 and 443 are allowed on "Domain" and Private profiles in Window's Firewall
Firewall::Ensure-NetFirewallRule(
    Name: OtterHttpTCP80443,
    Profiles: "Domain, Private",
    Port: "80,443",
    Protocol: TCP,
    Inbound: true,
    Allow: true
);
# ensures that UDP ports 5000 through 5004 and 5008 are allowed on the "Domain" profile Window's Firewall
Firewall::Ensure-NetFirewallRule(
    Name: OtterHttpUdpTest,
    Profiles: "Domain",
    Port: "5000-5004,5008",
    Protocol: UDP,
    Inbound: true,
    Allow: true
);
# ensures that the "OtterHttpTCP80443" Window's Firewall rule is removed
IIS::Ensure-Site(
    Name: OtterHttpTCP80443,
    Exists: false
);