Private/Remove-Component.ps1

Function Remove-Component{
    Param
    (
        [SolutionComponent[]]$Component,
        [string]$solutionName,
        [Microsoft.Xrm.Tooling.Connector.CrmServiceClient]$Conn
    )

    Write-Verbose 'Testing target only components for existence in other solutions...'
    $remove = $Component | Where-Object -Filter {-Not (Test-IsSingleSolutionComponent $_.objectid $conn)}
    $delete = Compare-CrmSolutionComponent $component $remove 
    
    if ($remove) {
        Remove-CrmComponentFromSolution -Component $remove -SolutionName $solutionName -Conn $conn
    }

    if ($delete){
        #only remove components for now -- need to identify process for deletions
        Remove-CrmComponentFromSolution -Component $delete -SolutionName $solutionName -Conn $conn
    }

    <# if ($delete) {
        Remove-SolutionComponentFromCrm -Component $delete -Conn $conn
        $removal["Deleted"] = $delete
    } #>

 
    Write-Output @{"Removals" = $remove; "Deletions" = $delete}
}