以下のような感じで重複自体は簡単に取り除けるのだが、
PS>ps | select name | Get-Unique -AsString |
これだと、プロセスオブジェクトの情報が「name」だけになってしまう。
プロセスオブジェクトの情報を保ったまま名前の重複を削除するには?
こんな感じかなぁ。
PS>ps | Group name | %{ $_.Group | select -First 1} |
牟田口さんからコメントを頂きました。
ps | sort name -unique
まさにやりたかったのはこれです。ありがとうございます。すっきりしました。
何かのコマンドレットにUNIQUEパラメータがあるのは覚えていたのですがSelectだったかなぁとスルーしていました。
特定のパラメータを持ったコマンドを調べるのって何だっけ?とこれも忘れていました。
ここに書いていましたね。
ついでにGet-Uniqueももう少し調べてみて、今回のサンプルの例に限って言えば、ps | Get-Unique
でも同じ結果になることが分かりました。
これは、たまたま名前順にプロセスが返ってきているのと、これもたまたまプロセスがこんな感じで
名前付きで返してくれるからかと思います。
そのような目的であれば、
返信削除ps|sort -unique -property name
でいいかと思います。