![]() |
Массив, подсчет кол-ва одинаковых значений и вывод таблицы
Есть небольшая задачка, составить топ 10 имен пользователей в AD
Наваял скрипт, который подсчитывает всего кол-во имен в массиве, и сколько уникальных имен в массиве. Требуется посчитать сколько раз эти уникальные имена встречаются в массиве Что-то ни как не могу сообразить:( # в какой OU ищем пользователей $org="OU=Users,DC=domen,DC=local" # получаем список пользователей у которых заполнен атрибут GivenName $users = Get-ADUser -Filter {GivenName -like '*'} -SearchBase $org #создаем пустой массив $result_mas=@() foreach ($User in $users) { #заполняем массив именами пользователей $result = New-Object -TypeName PSObject -Property @{ Name = $user.GivenName } $result_mas += $result } #вывод результата write-output "Всего имен: " ($result_mas).count write-output "Уникальных имен: " ($result_mas | Group-Object name | measure).count получается следующим образом Всего имен: 85 Уникальных имен: 16 а надо еще добавить табличку для примера: Имя | кол-во ---------------------------------- Имя1 | встречается 15 раз Имя2 | встречается 1 раз Имя3 | встречается 7 раз |
Цитата:
Код:
"Ваня", "Петя", "Ваня", "Петя", "Ваня", "Коля" | Group-Object | Sort-Object -Property "Count" -Descending | ForEach-Object -Process { |
Время: 14:31. |
Время: 14:31.
© OSzone.net 2001-