Powershell - отображение нескольких столбцов из таблиц ha sh рядом друг с другом - PullRequest
0 голосов
/ 18 июня 2020

Мой код powershell:

$h1 = [ordered]@{
    "item1" = "command1"
    "item2" = "command2"
    "item3" = "command3"
    "item4" = "command4"
    "item5" = "command5"
}

$h2 = [ordered]@{
    "col1" = "result1"
    "col2" = "result2"
}

$h1.GetEnumerator() | Format-Table @{
    Label = "Item";
    Expression = { $_.Key }
}, @{
    Label = "Command";
    Expression = { $_.Value }
}

$h2.GetEnumerator() | Format-Table @{
    Label = "Column";
    Expression = { $_.Key }
}, @{
    Label = "Result";
    Expression = { $_.Value }
}

Вывод

Item  Command
----  -------
item1 command1
item2 command2
item3 command3
item4 command4
item5 command5


Column Result
------ ------
col1   resul1
col2   resul2

Желаемый результат

Item  Command  Column Result
----  -------  ------ ------
item1 command1 col1   resul1
item2 command2 col2   resul2
item3 command3
item4 command4
item5 command5

Я пытаюсь отобразить две таблицы ha sh рядом друг другу. Возможно ли это со столами 2 га sh? Или, может быть, мне следует использовать два массива?

В основном я просто хочу отображать несколько столбцов, но с неравномерными данными, как показано в моем желаемом выходе.

Любая помощь будет очень принята.

1 Ответ

2 голосов
/ 18 июня 2020

С помощью настраиваемых объектов можно делать следующее:

$index = 0
$output = $h1.GetEnumerator() | Foreach-Object {
    [pscustomobject]@{'Item' = $_.key; 'Command' = $_.value}
}
$h2.GetEnumerator() | Foreach-Object {
    $output[$index++] | Add-Member -NotePropertyMembers @{'column' = $_.key;'result' = $_.value}
}
$output
...