examples/Copy-Users.ps1
Import-Module .\PSBlackboard.psm1 -Verbose -force #Get Prod Data #$ProdUsers = Get-BBUsers -verbose #$ProdDataSources = Get-BBDataSources #$ProdSystemRoles = Get-BBRoles -RoleType System | Where-Object {$_.custom -eq $True} #$ProdInstitutionRoles = Get-BBRoles -RoleType Institution | Where-Object {$_.custom -eq $True} #Get Test Data #$TestUsers = Get-BBUsers -Environment Test -Verbose #$TestDataSources = Get-BBDataSources -Environment Test #Other Variables $CreatedUsers = @() #For each prod user, determine if it needs to be made, # if it does, determine the corresponding institution and system roles exist in test, then create the user in test. $Comparement = Compare-Object -ReferenceObject $ProdUsers -DifferenceObject $TestUsers -Property externalId foreach($Difference in $($Comparement | Where-Object {$_.SideIndicator -eq '<='})){ #Find the prod user to use $User = $ProdUsers | Where-Object {$_.externalId -eq $Difference.externalID} #Determine the corresponding data source ID in test by comparing externalID's and update the datasource id. #If it doesn't, you'll want to run Copy-DataSources.ps1. $ProdDataSource = $ProdDataSources | Where-Object {$_.id -eq $User.dataSourceId} $MatchedDataSoure = $TestDataSources | Where-Object {$_.externalId -eq $ProdDataSource.externalId} $User.dataSourceId = $MatchedDataSoure.id $CreatedUsers += $User | New-BBUser -Environment Test -Verbose } |