What's the fastest way to merge two arrays using a common property?
Users | Select *
Username : Joe.Doe
Office : Chicago
Email :
Username : Mike.Smith
Office : New York
Email :
...
UserEmails | Select *
AccountEmail : Mike.Smith
EmailAddress : mike-smith@example.com
AccountEmail : Joe.Doe
EmailAddress : jsmith12@example.com
...
The merge should result in:
UsersCompleteList | Select *
Username : Joe.Doe
Office : Chicago
Email : jsmith12@example.com
Username : Mike.Smith
Office : New York
Email : mike-smith@example.com
...
Something like for each ($user in $users) { ($user.Email = $userEmails | ? { $_.AccountEmail -eq $user.Username}).EmailAddress
takes ages on large datasets.