ユーザーのログオンデータを含むCSVファイルがあり、PowerShellを使用してデータを解析し、各ユーザーの最後のログオンを見つけたいと考えています。
データの形式は次のとおりです。
TimeStamp UserName
--------- --------
10/14/2011 12:53:12 PM Smith
10/14/2011 12:54:07 PM Jones
10/14/2011 12:59:45 PM Green
10/14/2011 1:10:43 PM Brown
8/20/2012 6:20:11 PM Jones
8/20/2012 6:20:36 PM Brown
8/20/2012 6:33:04 PM Smith
8/20/2012 6:35:45 PM Brown
8/20/2012 6:45:05 PM Jones
8/20/2012 6:45:45 PM Smith
必要な出力は次のとおりです。
UserName TimeStamp
-------- ---------
Brown 8/20/2012 6:45:45 PM
Green 10/14/2011 12:59:45 PM
Jones 8/20/2012 6:45:05 PM
Smith 8/20/2012 6:45:45 PM
行ごと、ネストされたループ、ソリューションでこれを行うことはできますが、PowerShellでアプローチするには不十分な方法のようです。
csvデータを読み込んで、UserNameとTimeStampで並べ替えることができます。
$data = "\\SomePath\LastLogon.csv"
$list = Import-Csv $data |Sort @{expression="UserName";Ascending=$true},@{expression="TimeStamp";Descending=$true}
$list
しかし、私は今、最後のログオンだけをフィルタリングする方法に固執しています。PowerShellを使用してこれを行う簡単な方法はありますか、それとも間違ったアプローチを取っていますか?