Hello @Glenn Maxwell ,
Thanks for reaching out.
The number of objects that Get-ADGroupMember can return is restricted by a limit in the Active Directory Web Services (ADWS) : MaxGroupOrMemberEntries=5000
Specifies the maximum number of group members (recursive or non-recursive), group memberships, and authorization groups that can be retrieved by the Active Directory module Get-ADGroupMember, Get-ADPrincipalGroupMembership, and Get-ADAccountAuthorizationGroup cmdlets. Set this parameter to a higher value if you anticipate these cmdlets to return more than 5000 results in your environment.
Here are some similar threads for your reference : Microsoft technet & stackoverflow .
Coming back to your second question: Yes, following syntax must work Import-CSV C:\temp\input.csv | ForEach {Add-ADGroupMember -Identity Group2 -Member $_.users} as I was able add members successfully with same syntax form my lab. Here are some example based on decision control.
Hope this helps.
------
Please "Accept the answer" if the information helped you. This will help us and others in the community as well.