Copy-ADUserMembership.psm1

Function Copy-ADUserMembership {
    Param(
         
         [CmdletBinding()]
    

    [ValidateNotNullOrEmpty()]
    [Parameter(Mandatory = $True)] 
    [String]$SourceUser,
    [Parameter(Mandatory = $True)]
    [String]$DestinationUser
    
    )

    try {
    
    
    Get-ADPrincipalGroupMembership $SourceUser |
    ForEach-Object {
    $Group = $_
    
      Add-ADGroupMember -Identity $Group.SamAccountName -Members $DestinationUser
      Write-Host "Copying $($Group.Name) From $SourceUser to $DestinationUser"

      }
       }
         Catch {

  
         [PSCustomObject]@{

      FailureMessage = $Error[0]

      }
        }
          }
   
Export-ModuleMember -Function Copy-ADUserMembership