Private/Set-Guid.ps1

Function Set-Guid {

    param
    (
        [SolutionComponent[]]$component,
        [hashtable]$Metadata,
        [Microsoft.Xrm.Tooling.Connector.CrmServiceClient]$SourceConn,
        [Microsoft.Xrm.Tooling.Connector.CrmServiceClient]$TargetConn
    )

    $components = $component
    $updatedComponents = @()

    foreach ($comp in $components) {
        switch ($comp.ComponentType) {
            1  { $updatedComp = Get-CorrectGuidForEntity -Component $comp -Metadata $Metadata }
            2  { $updatedComp = Get-CorrectGuidForField -Component $comp -Metadata $Metadata  }
            9  { $updatedComp = Get-CorrectGuidForOptionSet -Component $comp -SourceConn $SourceConn -TargetConn $TargetConn }
            10 { $updatedComp = Get-CorrectGuidForMTORelationship -Component $comp -Metadata $Metadata }
            26 { $updatedComp = Get-CorrectGuidForSavedQuery -Component $comp -Metadata $Metadata -SourceConn $SourceConn -TargetConn $TargetConn }
            # 91 { $comp = Get-CorrectGuidForPluginAssembly -Component $comp -TargetConn $TargetConn }
            Default { $updatedComp = $comp}
        }
     
        $updatedComponents += $updatedComp
    }

    Write-Output $updatedComponents
}