Functions/Public/Start-COVUserGroupCopy.ps1

function Start-COVUserGroupCopy {
    <#
    .SYNOPSIS
        Copies Ad group memberships from a referenced model user
    .PARAMETER ModelUser
    The user you will be using as a template to copy groups from
    .PARAMETER User
    The user you would like modeled after the model user
    
    .EXAMPLE
        Start-COVUserGroupCopy -User Schmidtt -Modeluser PerronK
        Copies the group memberships of PerronK and adds them for Schmidtt
    #>

    
    
    

    [CmdletBinding()]
    
    param (
    
        [Parameter(Mandatory)]
        [string]
        $User,
        [Parameter(Mandatory)]
        [string]
        $ModelUser

    
    
    )

    $ErrorActionPreference= 'silentlycontinue'


    
    
    Get-Aduser -Identity $ModelUser | Out-Null $True
    $ModelGrps = Get-ADPrincipalGroupMembership -Identity $ModelUser | Sort-Object name,samaccountname | where name -notmatch 'azure' 

    foreach ($Sgrp in $ModelGrps) {

        
        Add-ADGroupMember -Identity $Sgrp -Members $User
    
    }
    
    Write-Host "The AD Group copy script has ran successfully, please check below to verify the desired groups look correct." -ForegroundColor Cyan 
    
    Start-COVGroupCompare -Identity1 $User -Identity2 $ModelUser


    #LogVariables
$Date = Get-Date -Format MM-dd-yyyy-hh-mm 
$Logname = "CopyGroupsFrom" + "_" + $ModelUser + "_" + "To"+ "_" + $User  + "_" + $Date + ".txt"
$Logfile = New-Item "\\cvfile01\software\Apps\_NoAppScripts\Powershell\Scriptlogs\User_Group_Copy\$Logname"



foreach ($Sgrp in $ModelGrps.name) {

 
    Add-Content -path $logfile -value "$User Was added to the following group $Sgrp"  




}




}