Search Active Directory user by email address
Cautarea unui user in Active Directory dupa adresa de email nu ar trebui sa fie ceva foarte dificil, insa cateodata cautarile folosind Get-ADUser pot fi mai ciudate si din cauza asta m-am gandit sa public si sintaxa pentru Get-ADUser prin care se poate face asa ceva.
Iar sintaxa daca vreau sa caut dupa un singur user ar fi ceva de genul:
Get-ADUser -filter "mail -eq ‘aungureanu@source.local’"
Si in cazul in care avem un fisier CSV ce contine o lista cu adresele de email putem folosi acest one liner:
Import-Csv .\emails.csv |%{Get-ADUser -filter "mail -eq ‘$($_.email)’"}
Coloana din fisierul CSV trebuie sa se numeasca Email si atentie la modul in care s-a facut escape la $_.
Intr-un script, folosind For-Each ar fi fost mult mai simplu pentru ca nu ar fi trebuit sa lucram cu $_, dar pentru cine are nevoie de un one liner rapid asta este o varianta foarte buna.
PS: Comanda merge adaptata usor pentru a filtra si dupa alte atribute.