Как отформатировать хеш-таблицу с массивом? - PullRequest
0 голосов
/ 29 января 2019

Я хочу отобразить хеш-таблицу в PowerShell и хочу использовать массив для заполнения одного из столбцов.

По сути, у меня есть следующее:

$Servers = "training01.us", "training02.us", "training03.us"

#Table
$table = @(@{ColumnA="$Servers";ColumnB=online})
$table.ForEach({[PSCustomObject]$_}) | Format-Table -AutoSize

Что яхотел бы, чтобы это отображалось на каждом сервере в отдельной строке таблицы.Например:

ColumnA
-------
training01.us
training02.us
training03.us

Но вместо этого я вижу это:

ColumnA
-------
training01.us training02.us training03.us

Как я могу это исправить?

1 Ответ

0 голосов
/ 29 января 2019

Это должно дать вам желаемый результат:

$Servers = "training01.us", "training02.us", "training03.us"
$OFS = "`n"
$table = @(@{ColumnA="$Servers";ColumnB='online'})
$table.ForEach({[PSCustomObject]$_}) | Format-Table -AutoSize -Wrap

Однако следует помнить, что все серверы все еще находятся в одном поле (как одна строка).Три строки имен просто объединяются с помощью новых строк (путем установки разделителя поля вывода на `n).

Format-Table -Wrap затем отображает значение строки в оболочке без усечения вывода.

Другой способк тому же результату (без необходимости изменять $OFS) будет

$table = @(@{ColumnA=$Servers -join "`n";ColumnB='online'})
$table.ForEach({[PSCustomObject]$_}) | Format-Table -AutoSize -Wrap
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...