Private/ADLookups/_GetGroupName.ps1

function _GetGroupName {
    param (
        [parameter(Mandatory = $true)]
        [string]$NameToSearch,

        [parameter(Mandatory = $true)]
        [ValidateSet('*Search', '*Search*', 'Search*')]
        [string]$SearchStyle
    )

    switch ($SearchStyle) {
        '*Search' {
            $Query = "*$NameToSearch"
        }
        '*Search*' {
            $Query = "*$NameToSearch*"
        }
        'Search*' {
            $Query = "$NameToSearch*"
        }
    }

    if ($null -eq $AllGroups) {
        Return "Go to the File menu and click 'Update Object Cache'."
    }
    else {
        $GroupName = @()
        $GroupName += $AllGroups | Where-Object Name -Like $Query
        $GroupName += $AllGroups | Where-Object SamAccountName -Like $Query

        Return $GroupName | Select-Object -Unique -First 20
    }
}