У меня есть следующий $outData значения массива с несколькими столбцами. Я не уверен, как я выравниваю некоторые столбцы по правому краю?
$outData | Select-Object `
Name `
@{Name="Freespace(byte)"; Expression={"{0:N0}" -f $_.FreeSpace}}, '
.... # other colums `
| Format-Table -AutoSize
Это хорошо работает. Однако, когда я пытался использовать, выравниваются, чтобы столбец свободного пространства исправился:
@{Name="Freespace(byte)"; Expression={"{0:N0}" -f $_.FreeSpace}; align="right"}, '
Я добрался, сообщение об ошибке "Указало, что метод не поддерживается". Не уверенный, если существует какой-либо способ выровнять значение для исправления?
Директива align помещается в хэш-таблицу, указанную в командлете Format-Table. IOW, align не поддерживается записью хеш-таблицы для Select-Object. Поэтому не забудьте выполнить форматирование с помощью хэш-таблиц в хэш-таблице, переданной в Format-Table, например:
gps | select name,pm | format-table @{n='Name';e={$_.Name};align='right'},PM
или в вашем случае:
$outData | Format-Table Name,
@{n="Freespace(byte)";e={"{0:N0}" -f $_.FreeSpace};a="right"}