forked from Cephalowat/PSFalcon
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Get-CsPreventMemberId.psm1
64 lines (55 loc) · 1.57 KB
/
Get-CsPreventMemberId.psm1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
function Get-CsPreventMemberId {
<#
.SYNOPSIS
Search for members of a Prevention policy in your environment
.PARAMETER ID
The ID of the Prevention policy to search for members of
.PARAMETER FILTER
The filter expression that should be used to limit the results
.PARAMETER LIMIT
The maximum records to return [default: 5000]
.PARAMETER OFFSET
The offset to start retrieving records from [default: 0]
.PARAMETER ALL
Repeat request until all results are returned
#>
[CmdletBinding()]
[OutputType([psobject])]
param(
[Parameter(Mandatory = $true)]
[ValidateLength(32,32)]
[string]
$Id,
[string]
$Filter,
[ValidateRange(1,5000)]
[int]
$Limit = 5000,
[int]
$Offset = 0,
[switch]
$All
)
process{
$Param = @{
Uri = '/policy/queries/prevention-members/v1?id=' + $Id + '&limit=' + [string] $Limit +
'&offset=' + [string] $Offset
Method = 'get'
Header = @{
accept = 'application/json'
'content-type' = 'application/json'
}
}
switch ($PSBoundParameters.Keys) {
'Filter' { $Param.Uri += '&filter=' + $Filter }
'Verbose' { $Param['Verbose'] = $true }
'Debug' { $Param['Debug'] = $true }
}
if ($All) {
Join-CsResult -Activity $MyInvocation.MyCommand.Name -Param $Param
}
else {
Invoke-CsAPI @Param
}
}
}