Hey All,
What’s the best way to pull list of sAMAccountNames from a AD domain email format like Joe.Smith@XYZ.com
I have a bunch of users in a user provided .CSV that I need to find out the sAMAccountNames.
Thanks
Hey All,
What’s the best way to pull list of sAMAccountNames from a AD domain email format like Joe.Smith@XYZ.com
I have a bunch of users in a user provided .CSV that I need to find out the sAMAccountNames.
Thanks
Does that consistently match either userprincipalname or mail?
There’s a UPN column which has the email listed like a above.
Assuming the column name in your CSV is email, this is one way.
$csvfile = 'some\path\to\csvfile.csv'
Import-Csv $csvfile | foreach {
Get-Aduser -Filter "userprincipalname -eq '$($_.email)'" | Select SamAccountName
}
I had the same question i the past, where I got help for this too ![]()
For me this works very well.
I use it in a for each loop:
param (
$ImportPadEnBestand = '\\xxxxxx -delimiter ";",
$ExportPadEnBestand = '\\xxxxxx'
)
$Names = Import-Csv $ImportPadEnBestand -Encoding UTF7
Write-Host "Nr of records $($ImportPadEnBestand): $($Names.Count)"
Write-Host
Start Clean
Remove-Item $ExportPadEnBestand -Confirm: $true -ErrorAction SilentlyContinue
# If export exist the do not execute the script
if ( Test-Path $ExportPadEnBestand ) {
return
}
# Just check youreself
$Found = 0
$Notfound = 0
foreach ($Name in $Names.displayname) {
#Write-Progress -activity "$($name.DisplayName)"
#sleep 1
if ( Get-ADUser -Filter {DisplayName -like $Name} ) {
Get-ADUser -Filter {DisplayName -like $Name} | select SamAccountName | Export-Csv $ExportPadEnBestand -Append
$Found++
}
else {
Write-Host "Notfound: $name"
$Notfoundn++
}
}
Write-Host
Write-Host "Find : $TFound"
Write-Host "Cannot find: $TellerNietGevonden"