我在powershell中使用带有-Sum标记的Measure-Object将Exchange邮箱数据库中的多个文件大小的结果相加。此操作的结果是一个似乎只包含一个整数值的对象。
我需要将这个总和与另一个总和进行比较,但是我被告知“sum”对象没有实现“IComparable”。所以我真正需要的是获取从“Measure-Object”命令返回的该对象内的单个整数值。
示例(用于测试):
[PS]> $ size1 = Get-MailboxStatistics -Database Some \ Exchange \ Database | select-object {$ .TotalItemSize / 1MB} | Measure-Object -Property'$ .TotalItemSize / 1MB'-Sum |选择总和
[PS]> $ size2 = Get-MailboxStatistics -Database Someother \ Exchange \ Database | select-object {$ .TotalItemSize / 1MB} | Measure-Object -Property'$ .TotalItemSize / 1MB'-Sum |选择总和
不起作用:
echo($ size1 -lt $ size2)
答案 0 :(得分:3)
Get-MailboxStatistics -Database Some\Exchange\Database |
foreach {$size1 += $_.totalitemsize.value.tobytes()/1mb}
答案 1 :(得分:2)
这将返回一个GenericMeasureInfo对象,该对象具有包含实际总和的属性。试试echo ($size1.Sum -lt $size2.Sum)
。