Here’s a way to get a sorted list of AD users from a security group. The trick of this is that Get-AdGroupMember returns and AdPrinciple, not an AdUser. The principle can be a user, group or computer and does not contain the surname and givenname fields, because they are not relevant to all of the objects.
We can use the Get-AdUser to fetch the name fields that we want to sort by, but get-aduser does not accept pipeline input, so you have to use a foreach loop to fetch each user . Declaring the variable at the top as a powershell array with ” = @()” allows us to insert each object into the array.
Finally, we can sort the results with sort-object:
$users =@()
foreach($userin Get-ADGroupMember -Server<MyServer> “<MyAdGroup>”)
{
$users+= get-aduser-Server <MyServer>$user.SamAccountName
}
$users | sort-object Surname| format-table-AutoSize SurName, GivenName