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} } |