Скрипт объединения двух CSV файлов по общему столбцу.
Задача: Перенос учетных записей пользователей с одного сервера на другой. В организации есть список пользователей с паролями в excel, про безопасность тут речь не идет!
- С помощью скрипта powershell выполняется экспорт рабочих учетных записей в CSV файл (обязательно в UTF-8)
- Копируется таблица с пользователями и паролями из файла организации и сохраняется в csv (в качестве разделителя используется точка с запятой)
- C помощью текущего скрипта (указанного ниже) объединяются два файла csv в один (принцип объединения по общему столбцу)
#Актуальный файл с пользователями
$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
}
}
}