自定义 psobject 截断使用 add-member 添加的结果
Custom psobject truncating the results that are added using add-member
我有两个集群,集群 1 有 5 个节点,集群 2 有 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 在对问题的评论中提供了关键指针:
Preference variable $FormatEnumerationLimit
控制在格式化输出中显示 集合值 属性 的元素数量。
例如,$FormatEnumerationLimit = 2; [pscustomobject] @{ prop = 1, 2, 3 }
从 .prop
的值中打印(最多)2 个元素,并用 ...
提示存在更多元素;例如,{1, 2...}
).
默认值为4
,但您可以将其设置为任意正值。
-1
对显示的值数量设置 没有限制 ,但请注意 表格输出(隐式或显式Format-Table
)列宽度可能仍会截断值列表。
- 通过管道传输到
Format-List
以确保显示 所有 值。
警告:由于 PowerShell [Core] 7.0 的 bug,设置 $FormatEnumerationLimit
仅在全球范围 - 见this GitHub issue。
- 作为脚本中的解决方法,修改全局副本,
$global:FormatEnumerationLimit
,临时(在退出脚本之前将其恢复为原始值)。
我有两个集群,集群 1 有 5 个节点,集群 2 有 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 在对问题的评论中提供了关键指针:
Preference variable $FormatEnumerationLimit
控制在格式化输出中显示 集合值 属性 的元素数量。
例如,$FormatEnumerationLimit = 2; [pscustomobject] @{ prop = 1, 2, 3 }
从 .prop
的值中打印(最多)2 个元素,并用 ...
提示存在更多元素;例如,{1, 2...}
).
默认值为
4
,但您可以将其设置为任意正值。-1
对显示的值数量设置 没有限制 ,但请注意 表格输出(隐式或显式Format-Table
)列宽度可能仍会截断值列表。- 通过管道传输到
Format-List
以确保显示 所有 值。
- 通过管道传输到
警告:由于 PowerShell [Core] 7.0 的 bug,设置 $FormatEnumerationLimit
仅在全球范围 - 见this GitHub issue。
- 作为脚本中的解决方法,修改全局副本,
$global:FormatEnumerationLimit
,临时(在退出脚本之前将其恢复为原始值)。