我有两个集群,cluster1有5个节点,cluster2有4个节点。使用下面的脚本,cluster1的输出将被截断。如何解决这个问题?
PS C:WINDOWSsystem32> $temp = @()
PS C:WINDOWSsystem32> 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:WINDOWSsystem32> $temp
Cluster Cluster_nodes
------- -------------
cluster1 {node1, node2, node3, node4...}
cluster2 {node1, node2, node3, node4}
AdminOfThings在对问题的评论中提供了关键指针:
首选项变量$FormatEnumerationLimit
控制在格式化输出中显示集合值属性的元素数量
例如,$FormatEnumerationLimit = 2; [pscustomobject] @{ prop = 1, 2, 3 }
从.prop
的值中打印(最多(2个元素,并用...
暗示更多元素的存在;例如{1, 2...}
(。
-
默认值为
4
,但您可以将其设置为任意正值。 -
-1
对显示的值数没有限制,但请注意,对于表格输出(隐式或显式Format-Table
(,列宽仍可能截断值列表。- 管道连接到
Format-List
,以确保显示所有值
- 管道连接到
注意事项:由于PowerShell[Core]7.0的错误,设置$FormatEnumerationLimit
仅在全局范围内有效-请参阅此GitHub问题。
- 作为脚本中的解决方法,临时修改全局副本
$global:FormatEnumerationLimit
,(在退出脚本之前将其恢复为原始值(