Это просто и, вероятно, может потребовать больше работы, но это делает работу.
function Join-Object {
param ( [PSObject[]] $objects, $where, $proplist)
for ($i=0;$i -le $objects.length;$i++) {
if ($objects[$i+1] -ne $null) {$out += $objects[$i] | %{$o=$_;$objects[$i+1] | where $where | Select -property $proplist} } };
$out
}
$where
- это блок скрипта, а $proplist
- это массив свойств, отформатированных для Select-Object.Это работает для прохождения в двух объектах.Надеюсь, это сработает для большего, но еще не попробовал.