First of all apologies for the title which is a bit click baity – it’s because I spent a lot of time googling for this and couldn’t find what I needed, that had been done in the way I wanted it doing. This is like a digital notebook for me to come back to as a reminder!

The problem…

What I wanted to achieve is a straight forward way of taking two Powershell system array objects and combining them together into a new system.array in a similar way to how Excel does a VLOOKUP against two data series. So take $array1, match it against $array2 and produce $array3 that includes all the information from the original two arrays, combined together into a single object.

The solution…

Here’s how I did it: