A look you give when ur listening to someone , but you actually don ' t care <| sep |> hi , I would suggest something like this $ groupmems GetADGroupMember Identity GroupName SelectObject Property Name $ alldesktops Some OU searches with computers $ namedetail foreach $ user in $ groupmems $ user GetADUser Identity $ user . Name givenname $ user . givenname surname $ user . surname samaccountname $ user . samaccountname fullname $$ user . givenname $$ user . surname # do not need these #$ names $ namedetail . fullname #$ usernames $ usernames . samaccountname # Always use Arraylist $ finallist NewObject TypeName System . Collections . ArrayList foreach $ name in $ namedetail foreach $ desktop in $ alldesktops if $ desktop . description eq $ name . fullname $ NewObject Computer $ desktop . name Username $ name . samaccountname FullName $ name . fullname $ null $ finallist . Add $ NewObject $ finallist SortObject Property FullNameDepending on the number of usersdesktops you have , this can take quite some time to run since you are basically looping through a collection for each user . Less than 1000 objects should be okay . I changed the criteria from a match which uses regex to an eq . You also have an IFstatement where you check if $ name . length gt 2 , however you do not have a $ name variable ? Let me know if you have any questions . CheersTore