Is there a way to compare objects that do not have the same property names? I know how to do this if the property names were the same, but not if they are different
Whaaa??? I was using Select-Object yesterday to rename the Property to no avail. I restarted my computer this morning and Wahla, it works. I don’t know…it’s voodoo, haha. Thanks.
#region Input
$people1 = @(
[pscustomobject]@{name="Robin";age=32;status="S"},
[pscustomobject]@{name="Tom";age=29;status="M"},
[pscustomobject]@{name="Ralph";age=12;status="D"}
)
$people2 = @(
[pscustomobject]@{firstname="Robin";age=32;info="S"},
[pscustomobject]@{firstname="Tom";age=29;info="M"},
[pscustomobject]@{firstname="Ralph";age=12;info="D"}
)
#endregion
# Normalize $people1 objects
$NormalizedPeople1 = $people1 | select @{n='firstname';e={$PSItem.name}},age,@{n='info';e={$PSItem.status}}
# Now both object arrays have the same properties: firstname, ago, info => normalized
# We can now use compare-object to compare $NormalizedPeople1 and $people2