【发布时间】:2012-08-20 15:55:09
【问题描述】:
我有一个包含用户登录数据的 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 数据并按用户名和时间戳对其进行排序:
$data = "\\SomePath\LastLogon.csv"
$list = Import-Csv $data |Sort @{expression="UserName";Ascending=$true},@{expression="TimeStamp";Descending=$true}
$list
但我现在陷入了如何过滤最后一次登录的问题。有没有一种简单的方法可以用 PowerShell 做到这一点,还是我采取了错误的方法?
【问题讨论】:
标签: powershell