PowerShell / CLI:具有多个阵列的“Foreach”循环

时间:2016-07-06 12:46:56

标签: arrays powershell

我正试图让我的大脑绕过一些东西并且处于头部爆炸的边缘。 我有一个列出用户名和虚拟机的数据列表。

例如:

username      servername
bob.lazar     abc001
bob.lazar     abc002
peter.bob     ght004
bob.lazar     abc006

我需要整理用户数据,以便通过电子邮件发送给他们。如果我循环并发送电子邮件,它将邮寄bob 3次,但我需要用3个服务器名称给bob发送一次电子邮件。我假设我需要将数据放入多维数组并循环,但只是不知道从哪里开始。

1 个答案:

答案 0 :(得分:2)

我没有完全理解这个问题,但我很确定你正在寻找GROUP cmdlet。 将一个集合管道到它并指定要对事物进行分组的属性,然后所有元素都可用作GROUP属性

JPS> dir |group extension |? Name -eq ".txt" | % Group


    Directory: C:\temp


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----         6/2/2016   8:23 PM          57930 foo.txt
-a----       12/21/2015   8:00 PM           8265 ModuleSessions.ps1.t
-a----        3/15/2016   6:26 PM             51 num.txt
-a----         6/6/2015   6:55 PM           2390 t2.txt

或者,您可以使用-AsHashtable返回以属性作为键

的哈希表
JPS> (dir |group Extension -AsHashTable)[".txt"]


    Directory: C:\temp


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----         6/2/2016   8:23 PM          57930 foo.txt
-a----       12/21/2015   8:00 PM           8265 ModuleSessions.ps1.txt
-a----        3/15/2016   6:26 PM             51 num.txt
-a----         6/6/2015   6:55 PM           2390 t2.txt

试验那些。