Private/ADLookups/_GetUserName.ps1
function _GetUserName { 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 $AllUsers) { Return "Go to the File menu and click 'Update Object Cache'." } else { $UserName = @() $UserName += $AllUsers | Where-Object SamAccountName -Like $Query $UserName += $AllUsers | Where-Object DisplayName -Like $Query $UserName += $AllUsers | Where-Object givenName -Like $Query $UserName += $AllUsers | Where-Object Surname -Like $Query $UserName += $AllUsers | Where-Object Name -Like $Query Return $UserName | Select-Object -Unique -First 20 } } |