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:
in Get-ADGroupMember -Server
$users | sort-object Surname
-AutoSize SurName, GivenName