Преобразование вывода массива в таблицу с помощью PowerShell - PullRequest
0 голосов
/ 25 октября 2018

Я экспортирую сертификаты из Windows CA, который представляет собой массив с данными в следующем формате.Я хочу преобразовать в таблицу.Есть идеи?

От:

$a=@(
'a=all
 b=call
',
'a=all
 b=ll'
)

Токовый выход:

a=all
b=call

a=all
b=ll

Желаемый выход:

a     b
all   call
all   ll

Ответы [ 2 ]

0 голосов
/ 25 октября 2018

Вы также можете создать пустой массив, а затем просто добавить значения, используя [PsCustomObject]

$Table = @()
$Table += [Pscustomobject]@{a = "all"; b = "call"}
$Table += [Pscustomobject]@{a = "all"; b = "ll"}
0 голосов
/ 25 октября 2018

У вас есть массив многострочных строк.Для желаемого вывода вам нужен массив объектов:

$a = @(
    [PSCustomObject]@{
        'a' = 'all'
        'b' = 'call'
    },
    [PSCustomObject]@{
        'a' = 'all'
        'b' = 'll'
    }
)

Если ваши входные данные на самом деле представляют собой список многострочных строк со строками вида key=value, вы можете преобразовать их в пользовательские объекты, например так:

$a = @(
'a=all
b=call',
'a=all
b=ll'
)

$a | ForEach-Object {
    [PSCustomObject]($_ | ConvertFrom-StringData)
}

ConvertFrom-StringData преобразует строку с одной или несколькими строками из пар key=value в хеш-таблицу, которую затем можно преобразовать в пользовательский объект.

...