非常に遅い応答ですが、オブジェクトを数える必要がある人に役立つことを願っています。
カウントしたいユーザーのリストから始めましょう。
> $users = 1..10 | % {New-object psobject -Property @{ Name = "User $_"; Age = $_ } }
> $users
Age Name
--- ----
1 User 1
2 User 2
3 User 3
4 User 4
5 User 5
6 User 6
7 User 7
8 User 8
9 User 9
10 User 10
それらを数えるには、それらをカウンターのハッシュテーブルに入れます
> # Create hash table
> $counter = @{}
> # Assign users as keys in the table
> $users | % { $counter.Add($_, 0) }
> $counter
Name Value
---- -----
@{Age=4; Name=User 4} 0
@{Age=1; Name=User 1} 0
@{Age=3; Name=User 3} 0
@{Age=5; Name=User 5} 0
@{Age=10; Name=User 10} 0
@{Age=9; Name=User 9} 0
@{Age=8; Name=User 8} 0
@{Age=7; Name=User 7} 0
@{Age=6; Name=User 6} 0
@{Age=2; Name=User 2} 0
その後、スクリプトでユーザーに遭遇するたびにカウンターをインクリメントできます。たとえば、「ユーザー1」を2回インクリメントし、「ユーザー4」を1回インクリメントします。
> $counter[$users[0]] += 1
> $counter[$users[0]] += 1
> $counter[$users[3]] += 1
> $counter
Name Value
---- -----
@{Age=4; Name=User 4} 1
@{Age=1; Name=User 1} 2
@{Age=3; Name=User 3} 0
@{Age=5; Name=User 5} 0
@{Age=10; Name=User 10} 0
@{Age=9; Name=User 9} 0
@{Age=8; Name=User 8} 0
@{Age=7; Name=User 7} 0
@{Age=6; Name=User 6} 0
@{Age=2; Name=User 2} 0