private/steps/Update-ConfluenceGroupsUsers.ps1

function Update-ConfluenceGroupsUsers {
    [CmdletBinding()]
    param (
        # The names of the groups to retrieve users for
        [Parameter(Mandatory,Position=0)]
        [string[]]
        $Groups,

        # The ID value of the refresh underway
        [Parameter(Mandatory,Position=1)]
        [int]
        $RefreshId,

        # The sql instance to update data in
        [Parameter(Mandatory,Position=2)]
        [string]
        $SqlInstance,

        # The sql database to update data in
        [Parameter(Mandatory,Position=3)]
        [string]
        $SqlDatabase,

        # The schema to use when updating data
        [Parameter(Position=4)]
        [string]
        $SchemaName="dbo"
    )
    
    begin {
        Write-Verbose "Updating Group Users"
        $tableName = "tbl_stg_Confluence_User_Group"
        $userGroups = @()
    }
    
    process {
        Write-Verbose "Getting Groups' Users"

        foreach ($g in $Groups) {
            $userGroups += Get-ConfluenceGroupsUsers $g | Read-ConfluenceGroupUser -Group $g -RefreshId $RefreshId
        }
    }
    
    end {
        $usersGroupsCount = $userGroups.Count
        Write-Verbose "Writing $usersGroupsCount Groups' Users record(s) to staging table"
        $userGroups | Write-SqlTableData -ServerInstance $SqlInstance -DatabaseName $SqlDatabase -SchemaName $SchemaName -TableName $tableName
    }
}