Пользовательский псобъект, усекающий результаты, которые добавляются с помощью add-member - PullRequest
2 голосов
/ 19 февраля 2020

У меня есть два кластера, cluster1 с 5 узлами и cluster2 с 4 узлами. С помощью приведенного ниже сценария выход кластера1 усекается. Как решить эту проблему?

PS C:\WINDOWS\system32> $temp = @()
PS C:\WINDOWS\system32> foreach($i in @('cluster1','cluster2')){
>> $pso = New-Object -TypeName psobject
>> $cluster = Get-Cluster $i | select name
>> $cluster_nodes = Get-ClusterNode -Cluster $cluster.Name | select name
>> $pso | Add-Member -MemberType NoteProperty -Name 'Cluster' -Value $cluster.Name
>> $pso | Add-Member -MemberType NoteProperty -Name 'Cluster_nodes' -Value $cluster_nodes.name
>> $temp += $pso
>> }

Вывод:

PS C:\WINDOWS\system32> $temp

Cluster         Cluster_nodes
-------         -------------
cluster1        {node1, node2, node3, node4...}
cluster2        {node1, node2, node3, node4}

1 Ответ

1 голос
/ 19 февраля 2020

AdminOfThings предоставил критический указатель в комментарии к вопросу:

Переменная предпочтения $FormatEnumerationLimit контролирует, сколько элементов в коллекционное свойство для отображения в форматированном выводе.

Например, $FormatEnumerationLimit = 2; [pscustomobject] @{ prop = 1, 2, 3 } печатает (максимум) 2 элемента из значения .prop и намекает на существование большего с помощью ...; например, {1, 2...}).

  • Значение по умолчанию равно 4, но вы можете установить произвольное положительное значение.

  • -1 мест без ограничений в зависимости от количества отображаемых значений, но учтите, что при табличном выводе (неявном или явном Format-Table ) ширина столбца может по-прежнему обрезать список значений.

    • Передать Format-List, чтобы обеспечить отображение всех значений.

Предупреждение : из-за ошибки в PowerShell [Core] 7.0 настройка $FormatEnumerationLimit действует только в глобальном 1056 * scope - см. эту проблему GitHub .

  • В качестве обходного пути в сценариях измените global copy, $global:FormatEnumerationLimit , временно (восстановить его до исходного значения перед выходом из скрипта).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...