-
Notifications
You must be signed in to change notification settings - Fork 17
/
Get-CsGroupMemberId.psm1
64 lines (55 loc) · 1.56 KB
/
Get-CsGroupMemberId.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-CsGroupMemberId {
<#
.SYNOPSIS
Search for members of a Host Group in your environment
.PARAMETER ID
The ID of the Host Group 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 = '/devices/queries/host-group-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
}
}
}