[英]Custom psobject truncating the results that are added using add-member
我有两个集群,cluster1 有 5 个节点,cluster2 有 4 个节点。 使用以下脚本,cluster1 输出被截断。 如何解决这个问题?
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}
AdminOfThings在对该问题的评论中提供了关键指针:
首选项变量$FormatEnumerationLimit
控制要在格式化输出中显示的集合值属性的元素数量。
例如, $FormatEnumerationLimit = 2; [pscustomobject] @{ prop = 1, 2, 3 }
$FormatEnumerationLimit = 2; [pscustomobject] @{ prop = 1, 2, 3 }
从.prop
的值中打印(最多)2 个元素,并用...
提示存在 more ; 例如, {1, 2...}
)。
默认值为4
,但您可以将其设置为任意正值。
-1
对显示的值数量没有限制,但请注意,对于表格输出(隐式或显式Format-Table
),列宽可能仍会截断值列表。
Format-List
以确保显示所有值。 警告:由于 PowerShell [Core] 7.0 的错误,设置$FormatEnumerationLimit
仅在全局范围内有效 - 请参阅此 GitHub 问题。
$global:FormatEnumerationLimit
(在退出脚本之前将其恢复为原始值)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.