Как красиво объединить все значения в строках из второго столбца из CSV файла, если значение в первом столбце совпадает?
Всем привет,
Может кто-то подсказать красивое решение, позволяющее обработать полученный через Import-CSV файл, в котором в первом столбце имена машин, во втором - имена юзеров, и имена машин могут быть одинаковые.
Хотелось бы не подключаться к машине несколько раз для определенных действий с юзерской учеткой, если имя машины в файле появляется несколько раз, а собрать все юзерские учетки для машины и подать команды для них за одну сессию.
Файл типа
COMP1;user1
COMP1;user2
COMP2;user1 и т.п.
Евгений, нет, не подходит-точнее подходит, но придется городить логику с переборами. У меня не дубликаты строк, а несколько строк с одинаковым именем машины, но разными именами юзеров, и все эти имена юзеров надо использовать на машине за 1 проход.
Евгений, И какую задачу вы таким образом решили ? :)
кстати, подозреваю, что у вас csv не импортировался - импортировалось всё как строка, потому и "работает"
-Delimiter ';' добавьте
Евгений, так будут отрезаны строки с совпадающим именем компьютера в первом стольце, но отличающимся именем пользователя во втором. А имена пользователей нужно сохранить и иметь возможность использовать в одной сессии к компьютеру. То есть если строк с именем компьютера два - они в цикле не как две разные invoke-command с первым и вторым именем пользователя должны пройти, а как 2 команды внутри одной Invoke-Command.
$csv = Import-Csv ....
foreach ($group in ($csv | Group-Object -Property ComputerName)) {
$computerName = $group.Name
$data = $group.Group # Оригинальные объекты. Тут всегда массив, даже если из одного элемента
#....
}