Powershell 还有一个棘手的问题。我有一个约 4000 个条目的列表,其中包含以下详细信息:
<Computername> | <Username> | <StartDate> | <LastDate> | <IDNum>
computer1 | jsmith | 4/12/12 | 4/12/13 | 52648
computer1 | jsmith | 4/12/12 | - | 52649
computer1 | jsmith | 4/12/12 | 8/7/13 | 52644
computer2 | hreid | 2/5/12 | 8/5/13 | 52396
computer2 | hreid | 4/10/12 | 5/18/13 | 52300
computer3 | mdrake | 2/10/11 | 12/18/12 | 52590
computer3 | mdrake | 5/10/11 | 3/20/12 | 52593
它是一个 CSV,我试图找到一种方法来比较 Computername 和 LastDate 字段,并吐出带有关联计算机名值的最新行列表。我能够将 CSV 读入一个变量,但是我在 get-member 值和每个循环方面都度过了一段地狱般的时光。
理想情况下,输出如下所示:
<Computername> | <Username> | <StartDate> | <LastDate> | <IDNum>
computer1 | jsmith | 4/12/12 | 8/7/13 | 52644
computer2 | hreid | 2/5/12 | 8/5/13 | 52396
computer3 | mdrake | 5/10/11 | 3/20/12 | 52593
有点复杂......我真的无法在我的脑海中打破这个。有什么帮助吗?甚至是关于如何开始编写脚本的想法……我在这里碰壁了。
- 更新 -
谢谢雷南特。所以我发现显然我的源列表有点复杂。它从列表中缺少一些计算机名称......此外它还缺少一些 lastdate 条目。所以我需要改变原始列表看起来更像这样:
<Computername> | <Username> | <StartDate> | <LastDate> | <IDNum>
computer1 | jsmith | 4/12/12 | 4/12/13 | 52648
computer1 | jsmith | 4/12/12 | - | 52649
computer1 | jsmith | 4/12/12 | 8/7/13 | 52644
computer2 | hreid | 2/5/12 | 8/5/13 | 52396
computer2 | hreid | 4/10/12 | 5/18/13 | 52300
computer3 | mdrake | 2/10/11 | 12/18/12 | 52590
computer3 | mdrake | 5/10/11 | 3/20/12 | 52593
| fmann | 4/11/12 | 3/20/13 | 52342
我将尝试使用您的代码示例,看看我是怎么做的。我对这个源列表感到非常恼火,因为我发现某些条目缺少各种东西......啊。