2016-07-06 2 views
0

Я пытаюсь заставить мозг вокруг чего-то и на грани взрыва головы. У меня есть список данных, содержащих имена пользователей и виртуальные машины.PowerShell/CLI: петля «Foreach» с несколькими массивами

, например:

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

мне нужно собирать пользовательские данные, так что я могу отправить их список. если я прокручу и отправлю по электронной почте, он будет отправлять боб в 3 раза, но мне нужно отправить по электронной почте bob один раз с 3 именами серверов. Я предполагаю, что мне нужно поместить данные в многомерный массив и выполнить цикл, но просто не знаю с чего начать.

+2

'$ данные | имя пользователя группы | % {do something} ' – PetSerAl

ответ

2

Я не совсем понял проблему, но я уверен, что вы ищете командлет GROUP. Pipe коллекции к нему и указать, какое имущество вы хотите сгруппировать вещи, а затем все элементы доступны как свойство 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 

Эксперимент с этими.

+0

Мне нужно отправить по электронной почте соответствующему пользователю список имен серверов, я могу найти пользователя против AD, чтобы получить адрес электронной почты, и отправить им все имена серверов, которые соответствуют. –

+0

Я собираюсь использовать группу, а затем использовать foreach для прокрутки имен –

Смежные вопросы