ConvertTo-HTML выводит System.Object [] из PSObject - PullRequest
0 голосов
/ 02 июля 2019

Я пытаюсь преобразовать PSObject в таблицу HTML и получить System.Object[] в качестве вывода.

$Result = New-Object PSObject

foreach ($Location in $Locations) {
    $Servers = GetServers -Location $Location
    $Value = @()

    foreach ($Server in $Servers) {
        if (Test-Path Path) {
            $value += $Server #Background of td should be green
        } else {
            $Value += $Server #Background of td should be red
        }
    }

    $Result | Add-Member -Type NoteProperty -Name $Location -Value $Value
}

$Result ConvertTo-Html

Без преобразования в HTML вывод:

Location1  : {Server1, Server2}
Location2  : {Server3, Server4}
Location3  : {Server5, Server6}

Попытка преобразования:

<td>System.Object[]</td>

И я хотел бы иметь такую ​​таблицу:

Location1     Location2     Location3
---------     ---------     ---------                                                                 
Server1       Server3       Server5
Server2       Server4       Server6

Если это возможно, я бы хотел иметь другой <td> фон (как прокомментировано в сценарии).

1 Ответ

0 голосов
/ 02 июля 2019

ConvertTo-Html не знает, как форматировать строковые массивы, поэтому вам придется преобразовать значение в строку перед передачей его в командлет:

$Result | Add-Member -Type NoteProperty -Name $Location -Value ($Value -join ', ')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...