I have a variable that contains a list of AD users i.e "Jay Jones". I want to query AD and check that each user in this list has a corresponding account. The problem is that Get-ADUser looks for the users Identity (SamAccountName), and this is done in the format "jayj". So when i issue a command it comes back that none of the users have accounts:
I know that the format "Jay Jones" matches the property type 'Name' of my AD User account. How can i make Get-ADUser reference the $UserList variable based on the 'Name' property of the account rather than the Identity (SamAccountName)? I cant change the format of the users in the variable to the same as the SamAccountName, otherwise i would!
If $userlist is a list of string objects, you need to look and see what Get-ADUser will do with those in terms of pipeline binding ByValue. Looking at the help, it's -Identity that's accepting strings ByValue, not -Name. That's why you're getting the error you are. As the answer above demonstrates, you have to manually push the input to -Name by enumerating the list.
If $userlist had contained values acceptable to -Identity, your first try would have worked.