如何对PowerShell获取的RDS会话集合Size属性值求和
计算RDS会话集合Size属性总和的方法
你的问题出在使用了ft(Format-Table)命令——这个命令会把原始的RDS会话集合对象转换成格式化的文本输出,导致无法直接提取Size属性的数值进行计算。要解决这个问题,需要保留对象的原始结构,再用统计命令求和:
方法一:分步处理
- 提取所有会话集合的
Size数值:
$collectionSizes = Get-RDSessionCollection -ConnectionBroker $CB | Select-Object -ExpandProperty Size
- 计算总和:
$totalSize = $collectionSizes | Measure-Object -Sum | Select-Object -ExpandProperty Sum # 直接输出结果 $totalSize
方法二:一行命令简化写法
直接通过Measure-Object对Size属性求和:
$totalSize = (Get-RDSessionCollection -ConnectionBroker $CB | Measure-Object -Property Size -Sum).Sum $totalSize
关键说明
Measure-Object是PowerShell专门用于数值统计的cmdlet,指定-Property Size后会自动遍历所有对象,计算该属性的总和。- 避免在需要后续数据处理的步骤中使用
Format-Table/ft、Format-List/fl这类格式化命令,它们会破坏原始对象的属性结构,仅适合最终结果的可视化输出。
内容的提问来源于stack exchange,提问作者Elo Bizne
相关产品推荐
相关产品推荐

