Как извлечь примитивное значение из более сложного объекта? - PullRequest
0 голосов
/ 13 февраля 2012

Я использую Measure-Object с тегом -Sum в powershell для суммирования результата нескольких размеров файлов в базе данных почтовых ящиков 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 |Выберите сумму

Не работает:

эхо ($ size1 -lt $ size2)

Ответы [ 2 ]

3 голосов
/ 13 февраля 2012
    Get-MailboxStatistics -Database Some\Exchange\Database | 
 foreach {$size1 += $_.totalitemsize.value.tobytes()/1mb}
2 голосов
/ 13 февраля 2012

Возвращает объект GenericMeasureInfo, свойство которого содержит фактическую сумму.Попробуйте echo ($size1.Sum -lt $size2.Sum).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...