public/Get-MoodleCohortMember.ps1
<#
.SYNOPSIS Gets the user IDs of members of a Moodle cohort. .PARAMETER Id Specifies the unique ID of the cohort. .PARAMETER Cohort Specifies a Moodle cohort. .EXAMPLE Get-MoodleCohortMembers -Id 1 Gets member IDs of a cohort whose ID is 1. .EXAMPLE Get-MoodleCohort -Id 1 | Get-MoodleCohortMember Gets member IDs of a cohort whose ID is 1. #> function Get-MoodleCohortMember { [CmdletBinding(DefaultParameterSetName='id')] param ( [Parameter(ParameterSetName="id",Mandatory,Position=0)] [int] $Id, [Parameter(ParameterSetName="pipeline", ValueFromPipeline)] [MoodleCohort] $Cohort ) Begin { $Url = $PsCmdlet.SessionState.PSVariable.GetValue('_MoodleUrl') $Token = $PsCmdlet.SessionState.PSVariable.GetValue('_MoodleToken') if (!$Url -or !$Token) { Throw 'You must call the Connect-Moodle cmdlet before calling any other cmdlets.' } $function = 'core_cohort_get_cohort_members' } Process { $path = "/webservice/rest/server.php?wstoken=$Token&wsfunction=$function&moodlewsrestformat=json" if ($Cohort) { $Id = $Cohort.Id } $path += "&cohortids[0]=$Id" (Invoke-RestMethod -Uri ([uri]::new($Url, $path))).userids } } |