# Add-BluGenieFirewallRule

﻿

### Add-BluGenieFirewallRule <a href="#add-blugeniefirewallrule" id="add-blugeniefirewallrule"></a>

### SYNOPSIS <a href="#synopsis" id="synopsis"></a>

Add Windows Firewall Rule(s) from a Rule configuration file

### SYNTAX <a href="#syntax" id="syntax"></a>

```
Add-BluGenieFirewallRule [[-RuleName] <String[]>] [[-Walkthrough]] [[-ReturnObject]] [[-OutUnEscapedJSON]] [<CommonParameters>]
```

### DESCRIPTION <a href="#description" id="description"></a>

Add Windows Firewall Rule(s) from a Rule configuration file

### EXAMPLES <a href="#examples" id="examples"></a>

#### EXAMPLE 1 <a href="#example-1" id="example-1"></a>

```
Command: Add-BluGenieFirewallRule -RulePath 'Agent_445_Inbound_TCP'
```

```
Description: This will add the Agent_445_Inbound_TCP rules from the Script Directory to the Windows Firewall Rule list.
Notes:
```

#### EXAMPLE 2 <a href="#example-2" id="example-2"></a>

```
Command: Add-BluGenieFirewallRule -RulePath 'Agent_445_Inbound_TCP,Agent_445_Inbound_UDP'
```

```
Description: This will add the Agent_445_Inbound_TCP and Agent_445_Inbound_UDP rules from the Script Directory to the Windows Firewall Rule list.
Notes:
```

#### EXAMPLE 3 <a href="#example-3" id="example-3"></a>

```
Command: Add-BluGenieFirewallRule -RulePath 'Agent_445_Inbound_TCP','Agent_445_Inbound_UDP'
```

```
Description: This will add the Agent_445_Inbound_TCP and Agent_445_Inbound_UDP rules from the Script Directory to the Windows Firewall Rule list.
Notes:
```

#### EXAMPLE 4 <a href="#example-4" id="example-4"></a>

```
Command: Add-BluGenieFirewallRule -RuleName 'C:\Windows\Temp\BGAgent_445_Inbound_TCP.RULE'
```

```
Description: This will add the Agent_445_Inbound_TCP rules from the C:\Windows\Temp\<Rule_Config> to the Windows Firewall Rule list.
Notes:  The rules are in JSON format
```

#### EXAMPLE 5 <a href="#example-5" id="example-5"></a>

```
Command: Add-BluGenieFirewallRule -RuleName 'C:\Windows\Temp\BGAgent_445_Inbound_TCP.RULE,C:\Windows\Temp\BGAgent_445_Inbound_UDP.RULE'
```

```
Description: This will add the Agent_445_Inbound_TCP and Agent_445_Inbound_UDP rules from the C:\Windows\Temp\<Rule_Config> to the Windows Firewall Rule list.
Notes:  These rules are in JSON format and also note the the rule names are in a sinlge string seperated by a comma.  The parameter can also use an array "<rule1>","<rule2>"
```

#### EXAMPLE 6 <a href="#example-6" id="example-6"></a>

```
Command: Add-BluGenieFirewallRule -RuleName 'C:\Windows\Temp\BGAgent_445_Inbound_TCP.RULE','C:\Windows\Temp\BGAgent_445_Inbound_UDP.RULE'
```

```
Description: This will add the Agent_445_Inbound_TCP and Agent_445_Inbound_UDP rules from the C:\Windows\Temp\<Rule_Config> to the Windows Firewall Rule list.
Notes:  These rules are in JSON format and also note the the rule names are in an array "<rule1>","<rule2>".  The parameter can also use a single string with a comma delimiter.
```

#### EXAMPLE 7 <a href="#example-7" id="example-7"></a>

```
Command: Add-BluGenieFirewallRule -Help
```

```
Description: If Help / WalkThrough is setup as a parameter, this script will be called to setup the Dynamic Help Menu if not the normal Get-Help will be called with the -Full parameter
Notes: Snippet to add to your script function (Read the #region WalkThrough (Dynamic Help)) as part of this script.  Make sure to add both the snippet and the parameter to your function.
```

#### EXAMPLE 8 <a href="#example-8" id="example-8"></a>

```
Command: Add-BluGenieFirewallRule -WalkThrough
```

```
Description: If Help / WalkThrough is setup as a parameter, this script will be called to setup the Dynamic Help Menu if not the normal Get-Help will be called with the -Full parameter
Notes: Snippet to add to your script function (Read the #region WalkThrough (Dynamic Help)) as part of this script.  Make sure to add both the snippet and the parameter to your function.
```

#### EXAMPLE 9 <a href="#example-9" id="example-9"></a>

```
Command: Add-BluGenieFirewallRule -RuleName 'C:\Windows\Temp\BGAgent_445_Inbound_TCP.RULE' -OutUnEscapedJSON
```

```
Description: This will add the Agent_445_Inbound_TCP rules from the C:\Windows\Temp\<Rule_Config> to the Windows Firewall Rule list.
Notes:  The OutUnEscapedJSON is used to beatify the JSON return and not Escape any Characters
```

#### EXAMPLE 10 <a href="#example-10" id="example-10"></a>

```
Command: Add-BluGenieFirewallRule -RuleName 'C:\Windows\Temp\BGAgent_445_Inbound_TCP.RULE' -ReturnObject
```

```
Description: This will add the Agent_445_Inbound_TCP rules from the C:\Windows\Temp\<Rule_Config> to the Windows Firewall Rule list.
Notes:  The ReturnObject is used to return a PowerShell Object.  Normal return data is a Hash Table.
```

### PARAMETERS <a href="#parameters" id="parameters"></a>

#### RuleName <a href="#rulename" id="rulename"></a>

```
-RuleName <String[]>
   Description: Full Path to a New Firewall Rule (.Rule) file.
   Notes: This can be more than one file, seperated with a comma (,) or an array of strings
   Alias: 
   ValidateSet:
   
   Required?                    false
   Position?                    1
   Default value                
   Accept pipeline input?       false
   Accept wildcard characters?  false
```

#### Walkthrough <a href="#walkthrough" id="walkthrough"></a>

```
-Walkthrough [<SwitchParameter>]
   Description:  Start the dynamic help menu system to help walk through the current command and all of the parameters
   Notes:  
   Alias: Help
   ValidateSet:
   
   Required?                    false
   Position?                    2
   Default value                False
   Accept pipeline input?       false
   Accept wildcard characters?  false
```

#### ReturnObject <a href="#returnobject" id="returnobject"></a>

```
-ReturnObject [<SwitchParameter>]
   Description: Return information as an Object
   Notes: By default the data is returned as a Hash Table
   Alias: 
   ValidateSet:
   
   Required?                    false
   Position?                    2
   Default value                False
   Accept pipeline input?       false
   Accept wildcard characters?  false
```

#### OutUnEscapedJSON <a href="#outunescapedjson" id="outunescapedjson"></a>

```
-OutUnEscapedJSON [<SwitchParameter>]
   Description: Removed UnEsacped Char from the JSON information.
   Notes: This will beautify json and clean up the formatting.
   Alias: 
   ValidateSet:
   
   Required?                    false
   Position?                    2
   Default value                False
   Accept pipeline input?       false
   Accept wildcard characters?  false
```

#### CommonParameters <a href="#commonparameters" id="commonparameters"></a>

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about\_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216).
