Скрипт объединения двух CSV файлов по общему столбцу.
Задача: Перенос учетных записей пользователей с одного сервера на другой. В организации есть список пользователей с паролями в excel, про безопасность тут речь не идет!
- С помощью скрипта powershell выполняется экспорт рабочих учетных записей в CSV файл (обязательно в UTF-8)
- Копируется таблица с пользователями и паролями из файла организации и сохраняется в csv (в качестве разделителя используется точка с запятой)
- C помощью текущего скрипта (указанного ниже) объединяются два файла csv в один (принцип объединения по общему столбцу)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
#Актуальный файл с пользователями $usersactual = Get-Content -Path "C:\ps\00\usersactual.csv" $usersfile2 = ConvertFrom-Csv -InputObject $usersactual #тиблица из Excel файла преобразованная в csv $usersfile = Get-Content -Path "C:\ps\00\usersfiles.csv" $usersfile1 = ConvertFrom-Csv -InputObject $usersfile -Delimiter ';' $text="" #создаем файл с заголовками add-content -path C:\ps\00\users.csv -value 'fullname;name;password' #перебираем оба файла и создаем новый foreach ($users1 in $usersfile2) { foreach ($users2 in $usersfile1) { if (($users2.Name).Equals($users1.Name)) { $text=$users2.Fullname+';' + $users2.name+ ';' + $users2.password add-content -path C:\ps\00\users.csv -value $text } } } |