Формат таблицы Powershell или select-object показывают только лучшие результаты

Я пытаюсь найти пользователей, которые отправили большинство писем. Но в конце я хочу отобразить только 10 лучших (или n номеров) отправителей. Есть ли способ показать только лучшие результаты, используя select-object или format-table

$Messages = Get-ExchangeServer * | where{$_.ServerRole -eq "HubTransport"} | %{get-messagetrackinglog -server $_.name -EventID "SEND" -Start (get-date -format G).AddDays(-1) -ResultSize unlimited}) 2>&1 | out-null

$messages | where{$_.sender -like "*@OurDomain.com*"} | select sender | group sender | sort count -Descending | ft count,name

Есть ли способ сделать это единственным отображением лучших результатов?

Единственный способ, с помощью которого я могу думать, будет хранить их в переменной и выводить их в цикл for

1 ответ

Перед ft, добавьте:

select -first 10

Замените 10 на сколько хотите.

Таким образом, полная команда будет:

$messages | where{$_.sender -like "*@OurDomain.com*"} | select sender | group sender | sort count -Descending | select -first 10 | ft count,name

licensed under cc by-sa 3.0 with attribution.