examples/Get-EnrollmenyByDataSource.ps1

Import-Module .\PSBlackboard.psm1 -Verbose -force

$TargetDataSourceName = '_177_1'

#Get Useful Terms
$CurrentTerms = Get-BBTerms -TargetTerm 'AllCurrent'
#$CurrentTerms = Get-BBTerms -TermID 'externalId:30700'

#Get the courses
foreach($Term in $CurrentTerms){
    $Courses = @()
    $CourseMemberships = @()
    $Returns = @()

    $Courses += Get-BBCourses -Filter "termId=$($Term.id)" -Verbose

    $Courses | foreach-Object -Begin{
        $Counter = 0

    } -Process {
        $Counter += 1
        Write-Verbose "Processing Course Enrollments Progress: $($Counter)/$($_.count) ($($($Counter)/$($_.count))) [$($_.id)] PercentComplete $(($($Counter)/$($_.count))*100)"
        $params = @{
            CourseID =  $_.id
            ExpandUser = $true
        }
            Write-Verbose "Processing memberships for $($_.id)"
            $CourseMemberships += Get-BBCourseMemberships @params -Filter "datasourceId=_177_1" #-Verbose
        } -End {
        }
    }