firewall-management/Get-CsFirewallRuleId.psm1
function Get-CsFirewallRuleId { <# .SYNOPSIS Search for Firewall Rule IDs in your environment .PARAMETER ID A specific Firewall policy ID to return rules for .PARAMETER FILTER The filter expression that should be used to limit the results .PARAMETER QUERY Search all firewall rules for the provided string .PARAMETER LIMIT The maximum records to return .PARAMETER AFTER The pagination token to continue results after an initial request .PARAMETER OFFSET The offset to start retrieving records from .PARAMETER ALL Repeat request until all results are returned #> [CmdletBinding(DefaultParameterSetName = 'default')] [OutputType([psobject])] param( [Parameter(ParameterSetName = 'policy')] [string] $Id, [Parameter(ParameterSetName = 'default')] [Parameter(ParameterSetName = 'policy')] [string] $Filter, [Parameter(ParameterSetName = 'default')] [Parameter(ParameterSetName = 'policy')] [string] $Query, [Parameter(ParameterSetName = 'default')] [Parameter(ParameterSetName = 'policy')] [ValidateRange(1,5000)] [int] $Limit, [Parameter(ParameterSetName = 'default')] [string] $After, [Parameter(ParameterSetName = 'policy')] [int] $Offset, [Parameter(ParameterSetName = 'default')] [Parameter(ParameterSetName = 'policy')] [switch] $All ) begin{ if ($Filter) { Add-Type -AssemblyName System.Web } } process{ $Param = @{ Uri = '/fwmgr/queries/rules/v1?' Method = 'get' Header = @{ accept = 'application/json' 'content-type' = 'application/json' } } switch ($PSBoundParameters.Keys) { 'Id' { $Param.Uri = '/fwmgr/queries/policy-rules/v1?id=' + [string] $Id } 'Filter' { $Param.Uri += '&filter=' + [System.Web.HTTPUtility]::UrlEncode($Filter) } 'Query' { $Param.Uri += '&q=' + $Query } 'Limit' { $Param.Uri += '&limit=' + [string] $Limit } 'After' { $Param.Uri += '&after=' + $After } 'Offset' { $Param.Uri += '&offset=' + [string] $Offset } 'Verbose' { $Param['Verbose'] = $true } 'Debug' { $Param['Debug'] = $true } } if ($All) { Join-CsResult -Activity $MyInvocation.MyCommand.Name -Param $Param } else { Invoke-CsAPI @Param } } } |