Private/Compare-ComponentsWithTargetOrg.ps1
Function Compare-ComponentsWithTargetOrg { Param ( [SolutionComponent[]]$Component, [hashtable]$metadata, [Microsoft.Xrm.Tooling.Connector.CrmServiceClient]$SourceConn, [Microsoft.Xrm.Tooling.Connector.CrmServiceClient]$TargetConn ) $entities = @{} $nonentities = @{} $entities["All"] = $Component | Where-Object -Property ComponentType -EQ 1 $nonentities["All"] = $Component | Where-Object -Property ComponentType -NE 1 $entities["Valid"] = Get-ExistingComponent -Component $entities.All -Metadata $Metadata -Conn $TargetConn $entities["Invalid"] = Get-InvalidComponent -AllComponent $entities.All -ValidComponent $entities.Valid $nonentities["valid"] = Get-ValidNonentities -NonentityComponent $nonentities.All -Metadata $metadata -Conn $TargetConn $nonentities["Invalid"] = Get-InvalidComponent -AllComponent $nonentities.All -ValidComponent $nonentities.Valid $all = @{"Entities" = $entities.All; "Nonentities" = $nonentities.All} $release = @{"Entities" = $entities.Valid; "Nonentities" = $nonentities.Valid} $detain = @{"Entities" = $entities.Invalid; "Nonentities" = $nonentities.Invalid} Write-Output @{"All" = $all; "Release" = $release; "Detain" = $detain;} } |